Revert "usb: musb: host: don't start next rx urb if current one failed"
This reverts commitdbac5d07d1
. commitdbac5d07d1
("usb: musb: host: don't start next rx urb if current one failed") along with commitb580121222
("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: Bin Liu <b-liu@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
17539f2f4f
commit
44eb5e12b8
@ -391,13 +391,7 @@ static void musb_advance_schedule(struct musb *musb, struct urb *urb,
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 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) {
|
||||
if (qh != NULL && qh->is_ready) {
|
||||
musb_dbg(musb, "... next ep%d %cX urb %p",
|
||||
hw_ep->epnum, is_in ? 'R' : 'T', next_urb(qh));
|
||||
musb_start_urb(musb, is_in, qh);
|
||||
|
Loading…
Reference in New Issue
Block a user