]> git.baikalelectronics.ru Git - kernel.git/commit
wimax/i2400m: usb: fix device reset on autosuspend while not yet idle
authorInaky Perez-Gonzalez <inaky@linux.intel.com>
Fri, 8 May 2009 22:51:44 +0000 (15:51 -0700)
committerInaky Perez-Gonzalez <inaky@linux.intel.com>
Fri, 29 May 2009 01:02:27 +0000 (18:02 -0700)
commita6b5263e9ca088af3e3b46ae4f413f70493d62e4
tree98bdbb3c1f18d1505d09e3d1cd0bbd19f741a7d7
parent6c9c005f127aeda207f5c4afe39c510433ac2352
wimax/i2400m: usb: fix device reset on autosuspend while not yet idle

When the i2400m is connected to a network, the host interface (USB)
cannot be suspended. For that to happen, the device has to have
negotiated with the basestation to put the link on IDLE state.

If the host tries to put the device in standby while it is connected
but not idle, the device resets, as the driver should not do that.

To avoid triggering that, when the USB susbsytem requires the driver
to autosuspend the device, the driver checks if the device is not yet
idle. If it is not, the request is requested (will be retried again
later on after the autosuspend timeout). At some point the device will
enter idle and the request will succeed (unless of course, there is
network traffic, but at that point, there is no idle neither in the
link or the host interface).

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