| From | Greg Kroah-Hartman <> | Subject | [PATCH 4.14 017/217] usb: dwc2: gadget: Fix issue in dwc2_gadget_start_isoc() | Date | Thu, 23 Aug 2018 09:52:10 +0200 |
| |
4.14-stable review patch. If anyone has any objections, please let me know.
------------------
From: Minas Harutyunyan <Minas.Harutyunyan@synopsys.com>
[ Upstream commit 1ffba9058737af2ddeebc813faa8ea9b16bc892a ]
In case of requests queue is empty reset EP target_frame to initial value.
This allow restarting ISOC traffic in case when function driver queued requests with interruptions.
Tested-by: Zeng Tao <prime.zeng@hisilicon.com> Signed-off-by: Minas Harutyunyan <hminas@synopsys.com> Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com> Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> --- drivers/usb/dwc2/gadget.c | 1 + 1 file changed, 1 insertion(+)
--- a/drivers/usb/dwc2/gadget.c +++ b/drivers/usb/dwc2/gadget.c @@ -932,6 +932,7 @@ static void dwc2_gadget_start_isoc_ddma( u32 ctrl; if (list_empty(&hs_ep->queue)) { + hs_ep->target_frame = TARGET_FRAME_INITIAL; dev_dbg(hsotg->dev, "%s: No requests in queue\n", __func__); return; }
|