can: mcba_usb: cancel urb on -EPROTO
authorMartin Kelly <mkelly@xevo.com>
Tue, 5 Dec 2017 18:34:03 +0000 (10:34 -0800)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Fri, 8 Dec 2017 09:45:11 +0000 (10:45 +0100)
commitc7f33023308f3142433b7379718af5f0c2c322a6
tree41e92dbb68dae37e1a89954aeb1cc3530e9e062c
parent195bd525d5f6e338b948d9a6b25bfaae86291353
can: mcba_usb: cancel urb on -EPROTO

When we unplug the device, we can see both -EPIPE and -EPROTO depending
on exact timing and what system we run on. If we continue to resubmit
URBs, they will immediately fail, and they can cause stalls, especially
on slower CPUs.

Fix this by not resubmitting on -EPROTO, as we already do on -EPIPE.

Signed-off-by: Martin Kelly <mkelly@xevo.com>
Cc: linux-stable <stable@vger.kernel.org>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/usb/mcba_usb.c