can: ems_usb: cancel urb on -EPIPE and -EPROTO
commit bd352e1adf
upstream.
In mcba_usb, we have observed that when you unplug the device, the driver will
endlessly resubmit failing URBs, which can cause CPU stalls. This issue
is fixed in mcba_usb by catching the codes seen on device disconnect
(-EPIPE and -EPROTO).
This driver also resubmits in the case of -EPIPE and -EPROTO, so fix it
in the same way.
Signed-off-by: Martin Kelly <mkelly@xevo.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
b96f17231d
commit
e7a80033fd
@ -288,6 +288,8 @@ static void ems_usb_read_interrupt_callback(struct urb *urb)
|
|||||||
|
|
||||||
case -ECONNRESET: /* unlink */
|
case -ECONNRESET: /* unlink */
|
||||||
case -ENOENT:
|
case -ENOENT:
|
||||||
|
case -EPIPE:
|
||||||
|
case -EPROTO:
|
||||||
case -ESHUTDOWN:
|
case -ESHUTDOWN:
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user