提交 1591633e 编写于 作者: P Pratyush Anand 提交者: Felipe Balbi

usb: dwc3: giveback all queued request when ep disabled or reset received

In case of ep_disable and reset interrupt is received and, still there
was at least one request queued for dma transfer, then endpoint is
stopped first. Once endpoint is stopped, callback for all queued
request must be called.
Signed-off-by: NPratyush Anand <pratyush.anand@st.com>
Signed-off-by: NFelipe Balbi <balbi@ti.com>
上级 dcae3573
...@@ -579,8 +579,11 @@ static void dwc3_remove_requests(struct dwc3 *dwc, struct dwc3_ep *dep) ...@@ -579,8 +579,11 @@ static void dwc3_remove_requests(struct dwc3 *dwc, struct dwc3_ep *dep)
*/ */
udelay(100); udelay(100);
req = next_request(&dep->req_queued); while (!list_empty(&dep->req_queued)) {
dwc3_gadget_giveback(dep, req, -ESHUTDOWN); req = next_request(&dep->req_queued);
dwc3_gadget_giveback(dep, req, -ESHUTDOWN);
}
} }
while (!list_empty(&dep->request_list)) { while (!list_empty(&dep->request_list)) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册