Hi,

On Tue, Aug 07, 2012 at 04:54:18PM +0530, Pratyush Anand wrote:
> When MISSED_ISOC is set, BUSY is also set. Since, we are handling
> MISSED_ISOC as a separate case in third scenario, therefore handle only
> BUSY but not MISSED_ISOC in second scenario.
> 
> Signed-off-by: Pratyush Anand <[email protected]>
> ---
>  drivers/usb/dwc3/gadget.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
> index 0ead4cd..800944f 100644
> --- a/drivers/usb/dwc3/gadget.c
> +++ b/drivers/usb/dwc3/gadget.c
> @@ -1139,7 +1139,8 @@ static int __dwc3_gadget_ep_queue(struct dwc3_ep *dep, 
> struct dwc3_request *req)
>        *    core may not see the modified TRB(s).
>        */
>       if (usb_endpoint_xfer_isoc(dep->endpoint.desc) &&
> -                     (dep->flags & DWC3_EP_BUSY)) {
> +                     (dep->flags & DWC3_EP_BUSY) &&
> +                     !(dep->flags & DWC3_EP_MISSED_ISOC)) {

what about inverting the cases then ? Moving missed_isoc before ep_busy?
Would that work ? I would be more comfortable with that, I guess.

-- 
balbi

Attachment: signature.asc
Description: Digital signature

Reply via email to