wimax/i2400m: handle USB stalls
authorInaky Perez-Gonzalez <inaky@linux.intel.com>
Tue, 20 Oct 2009 02:10:59 +0000 (11:10 +0900)
committerInaky Perez-Gonzalez <inaky@linux.intel.com>
Tue, 3 Nov 2009 20:49:40 +0000 (12:49 -0800)
commitfaf57162e462eafe87458e21bf641f9d138f8171
treec59c3a457768924a37b2feb80125b35cd15ac056
parentfae92216da87d1c78aa51c4503acb312a47266e9
wimax/i2400m: handle USB stalls

When the device stalls, clear it and retry; if it keeps failing too
often, reset the device.

This specially happens when running on virtual machines; the real
hardware doesn't seem to trip on stalls too much, except for a few
reports in the mailing list (still to be confirmed this is the cause,
although it seems likely.

NOTE: it is not clear if the URB has to be resubmitted fully or start
only at the offset of the first transaction sent. Can't find
documentation to clarify one end or the other.

Tests that just resubmit the whole URB seemed to work in my
environment.

Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
drivers/net/wimax/i2400m/usb-fw.c
drivers/net/wimax/i2400m/usb-rx.c
drivers/net/wimax/i2400m/usb-tx.c
drivers/net/wimax/i2400m/usb.c