alistair23-linux/drivers/net/wimax/i2400m
Inaky Perez-Gonzalez 2618ab774e 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>
2009-05-28 18:02:27 -07:00
..
control.c wimax/i2400m: remove redundant readiness checks from i2400m_report_tlv_*() 2009-05-28 18:01:58 -07:00
debug-levels.h wimax/i2400m: allow control of the base-station idle mode timeout 2009-03-02 03:10:25 -08:00
debugfs.c wimax: fix build issue when debugfs is disabled 2009-01-29 17:18:31 -08:00
driver.c wimax/i2400m: allow kernel commands to device to be logged too 2009-05-28 18:01:42 -07:00
fw.c wimax/i2400m: add the ability to fallback to other firmware files if the default is not there 2009-03-02 03:10:23 -08:00
i2400m-sdio.h i2400m/SDIO: header for the SDIO subdriver 2009-01-07 10:00:22 -08:00
i2400m-usb.h i2400m/USB: header for the USB bus driver 2009-01-07 10:00:21 -08:00
i2400m.h wimax/i2400m: generate fake source MAC address with random_ether_addr() 2009-05-28 18:01:24 -07:00
Kconfig i2400m: Makefile and Kconfig 2009-01-07 10:00:22 -08:00
Makefile wimax/i2400m: allow control of the base-station idle mode timeout 2009-03-02 03:10:25 -08:00
netdev.c wimax/i2400m: generate fake source MAC address with random_ether_addr() 2009-05-28 18:01:24 -07:00
op-rfkill.c i2400m: Generic probe/disconnect, reset and message passing 2009-01-07 10:00:18 -08:00
rx.c wimax/i2400m: remove redundant readiness checks from i2400m_report_tlv_*() 2009-05-28 18:01:58 -07:00
sdio-debug-levels.h i2400m/SDIO: header for the SDIO subdriver 2009-01-07 10:00:22 -08:00
sdio-fw.c i2400m/SDIO: firmware upload backend 2009-01-07 10:00:22 -08:00
sdio-rx.c i2400m/SDIO: TX and RX path backends 2009-01-07 10:00:22 -08:00
sdio-tx.c i2400m/SDIO: TX and RX path backends 2009-01-07 10:00:22 -08:00
sdio.c wimax/i2400m: sdio: set the block size before enabling the function 2009-05-28 18:02:11 -07:00
sysfs.c wimax/i2400m: allow control of the base-station idle mode timeout 2009-03-02 03:10:25 -08:00
tx.c i2400m: RX and TX data/control paths 2009-01-07 10:00:19 -08:00
usb-debug-levels.h i2400m/USB: header for the USB bus driver 2009-01-07 10:00:21 -08:00
usb-fw.c i2400m/USB: firmware upload backend 2009-01-07 10:00:21 -08:00
usb-notif.c wimax: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-02 03:10:26 -08:00
usb-rx.c wimax/i2400m: error paths that need to free an skb should use kfree_skb() 2009-01-19 17:58:08 -08:00
usb-tx.c i2400m/USB: TX and RX path backends 2009-01-07 10:00:21 -08:00
usb.c wimax/i2400m: usb: fix device reset on autosuspend while not yet idle 2009-05-28 18:02:27 -07:00