Commit 44eb5e12 authored by Bin Liu's avatar Bin Liu Committed by Greg Kroah-Hartman

Revert "usb: musb: host: don't start next rx urb if current one failed"

This reverts commit dbac5d07.

commit dbac5d07 ("usb: musb: host: don't start next rx urb if current one failed")
along with commit b5801212 ("usb: musb: host: clear rxcsr error bit if set")
try to solve the issue described in [1], but the latter alone is
sufficient, and the former causes the issue as in [2], so now revert it.

[1] https://marc.info/?l=linux-usb&m=146173995117456&w=2
[2] https://marc.info/?l=linux-usb&m=151689238420622&w=2

Cc: stable@vger.kernel.org # v4.7+
Signed-off-by: default avatarBin Liu <b-liu@ti.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 17539f2f
...@@ -391,13 +391,7 @@ static void musb_advance_schedule(struct musb *musb, struct urb *urb, ...@@ -391,13 +391,7 @@ static void musb_advance_schedule(struct musb *musb, struct urb *urb,
} }
} }
/* if (qh != NULL && qh->is_ready) {
* The pipe must be broken if current urb->status is set, so don't
* start next urb.
* TODO: to minimize the risk of regression, only check urb->status
* for RX, until we have a test case to understand the behavior of TX.
*/
if ((!status || !is_in) && qh && qh->is_ready) {
musb_dbg(musb, "... next ep%d %cX urb %p", musb_dbg(musb, "... next ep%d %cX urb %p",
hw_ep->epnum, is_in ? 'R' : 'T', next_urb(qh)); hw_ep->epnum, is_in ? 'R' : 'T', next_urb(qh));
musb_start_urb(musb, is_in, qh); musb_start_urb(musb, is_in, qh);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment