usb: dwc2: gadget: kill requests after disabling ep
kill_all_requests() can flush the fifo. Call it after disabling the endpoint. Tested-by: Robert Baldyga <r.baldyga@samsung.com> Acked-by: Paul Zimmerman <paulz@synopsys.com> Signed-off-by: Mian Yousaf Kaukab <yousaf.kaukab@intel.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
parent
5f2196bd7c
commit
1141ea01d5
1 changed files with 3 additions and 2 deletions
|
@ -2605,8 +2605,6 @@ static int s3c_hsotg_ep_disable(struct usb_ep *ep)
|
||||||
epctrl_reg = dir_in ? DIEPCTL(index) : DOEPCTL(index);
|
epctrl_reg = dir_in ? DIEPCTL(index) : DOEPCTL(index);
|
||||||
|
|
||||||
spin_lock_irqsave(&hsotg->lock, flags);
|
spin_lock_irqsave(&hsotg->lock, flags);
|
||||||
/* terminate all requests with shutdown */
|
|
||||||
kill_all_requests(hsotg, hs_ep, -ESHUTDOWN);
|
|
||||||
|
|
||||||
hsotg->fifo_map &= ~(1<<hs_ep->fifo_index);
|
hsotg->fifo_map &= ~(1<<hs_ep->fifo_index);
|
||||||
hs_ep->fifo_index = 0;
|
hs_ep->fifo_index = 0;
|
||||||
|
@ -2623,6 +2621,9 @@ static int s3c_hsotg_ep_disable(struct usb_ep *ep)
|
||||||
/* disable endpoint interrupts */
|
/* disable endpoint interrupts */
|
||||||
s3c_hsotg_ctrl_epint(hsotg, hs_ep->index, hs_ep->dir_in, 0);
|
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);
|
||||||
|
|
||||||
spin_unlock_irqrestore(&hsotg->lock, flags);
|
spin_unlock_irqrestore(&hsotg->lock, flags);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue