Re: [PATCH v4 4/4] can: kvaser_usb: Retry first bulk transfer on -ETIMEDOUT
From: Marc Kleine-Budde <mkl@pengutronix.de>
Date: 2015-01-12 10:25:41
Also in:
linux-can, lkml
On 01/12/2015 11:14 AM, Ahmed S. Darwish wrote:
On Sun, Jan 11, 2015 at 09:51:10PM +0100, Marc Kleine-Budde wrote:quoted
On 01/11/2015 09:45 PM, Ahmed S. Darwish wrote:quoted
From: Ahmed S. Darwish <redacted> (This is a draft patch, I'm not sure if this fixes the USB bug or only its psymptom. Feedback from the linux-usb folks is really appreciated.) When plugging the Kvaser USB/CAN dongle the first time, everything works as expected and all of the transfers from and to the USB device succeeds. Meanwhile, after unplugging the device and plugging it again, the first bulk transfer _always_ returns an -ETIMEDOUT. The following behaviour was observied: - Setting higher timeout values for the first bulk transfer never solved the issue. - Unloading, then loading, our kvaser_usb module in question __always__ solved the issue. - Checking first bulk transfer status, and retry the transfer again in case of an -ETIMEDOUT also __always__ solved the issue. This is what the patch below does. - In the testing done so far, this issue appears only on laptops but never on PCs (possibly power related?) Signed-off-by: Ahmed S. Darwish <redacted>Does this patch apply apply between 3 and 4? If not, please re-arrange the series. As this is a bug fix, patches 1, 2 and 4 will go via net/master, 3 will go via net-next/master.Since no one complained earlier, I guess this issue only affects USBCAN devices. That's why I've based it above patch #3: adding USBCAN hardware support. Nonetheless, it won't do any harm for the current Leaf-only driver. So _if_ this is the correct fix, I will update the commit log, refactor the check into a 'do { } while()' loop, and then base it above the Leaf-only net/master fixes on patch #1, and #2. Any feedback on the USB side of things?
Maybe you have to change the subject of this patch to be more visible on the USB list and/or add the right USB people on Cc. Marc -- Pengutronix e.K. | Marc Kleine-Budde | Industrial Linux Solutions | Phone: +49-231-2826-924 | Vertretung West/Dortmund | Fax: +49-5121-206917-5555 | Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
Attachments
- signature.asc [application/pgp-signature] 819 bytes