Re: [PATCH] usb: musb: return -ESHUTDOWN in urb when three-strikes error happened

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, May 13, 2020 at 04:36:20PM -0500, Bin Liu wrote:
> When a USB device attached to a hub got disconnected, MUSB controller
> generates RXCSR_RX_ERROR interrupt for the 3-strikes-out error.
> 
> Currently the MUSB host driver returns -EPROTO in current URB, then the
> USB device driver could immediately resubmit the URB which causes MUSB
> generate RXCSR_RX_ERROR interrupt again. This circle causes interrupt
> storm then the hub never got a chance to report the USB device detach.
> 
> To fix the interrupt storm, change the URB return code to -ESHUTDOWN for
> MUSB_RXCSR_H_ERROR interrupt, so that the USB device driver will not
> immediately resubmit the URB.
> 
> Signed-off-by: Bin Liu <b-liu@xxxxxx>

Strictly speaking, this is not the right thing to do.  It goes against 
the API described in error-codes.rst.  A better approach would be to fix 
the drivers that immediately resubmit an URB after getting a -EPROTO 
error.  After all, that is the wrong thing to do no matter what sort of 
host controller the device is attached to.

Alan Stern



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux