Hi, On 12/21/2014 05:15 PM, Mian Yousaf Kaukab wrote: > kill_all_requests() can flush the fifo. Call it after disabling the > endpoint. Moreover, remove even the current IN request so that next > IN request after s3c_hsotg_ep_enable can be properly handled. > > Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@xxxxxxxxx> > --- > drivers/usb/dwc2/gadget.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/usb/dwc2/gadget.c b/drivers/usb/dwc2/gadget.c > index 031f7edc..4ccf59b 100644 > --- a/drivers/usb/dwc2/gadget.c > +++ b/drivers/usb/dwc2/gadget.c > @@ -2612,8 +2612,6 @@ static int s3c_hsotg_ep_disable(struct usb_ep *ep) > epctrl_reg = dir_in ? DIEPCTL(index) : DOEPCTL(index); > > spin_lock_irqsave(&hsotg->lock, flags); > - /* terminate all requests with shutdown */ > - kill_all_requests(hsotg, hs_ep, -ESHUTDOWN, false); > > hsotg->fifo_map &= ~(1<<hs_ep->fifo_index); > hs_ep->fifo_index = 0; > @@ -2630,6 +2628,9 @@ static int s3c_hsotg_ep_disable(struct usb_ep *ep) > /* disable endpoint interrupts */ > s3c_hsotg_ctrl_epint(hsotg, hs_ep->index, hs_ep->dir_in, 0); > > + /* terminate all requests with shutdown */ > + kill_all_requests(hsotg, hs_ep, -ESHUTDOWN, true); > + > spin_unlock_irqrestore(&hsotg->lock, flags); > return 0; > } > After this change function kill_all_requests() is always called with second parameter = 'true', so we don't need to have this parameter anymore. I have already sent patch making that change: https://lkml.org/lkml/2014/12/16/135 Best regards, Robert Baldyga -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html