linux/drivers/net/wireless/rt2x00
Stanislaw Gruszka e9dc51aa2b rt2x00: tune multi-registers I/O timeout
We provide timeout value to rt2x00usb_vendor_request_buff() based on
number of registers to process. That value is passed down to
rt2x00usb_vendor_req_buff_lock() and ends in usb_control_msg(). But we
do not read/write all registers in rt2x00usb_vendor_req_buff_lock() at
once. We read/write them in chunks of 64 bytes in the loop, hence passed
timeout value to low level is too big.

Patch removes timeout argument from rt2x00usb_vendor_request_buff() and
use short REGISTER_TIMEOUT in rt2x00usb_vendor_req_buff_lock(). That
timeout value should be fine for 64 bytes and smaller requests. For
EEPROM read we introduced new timeout value equal to 2 seconds.

Patch fixes process uninterruptible sleep stalls for long period, when
USB bus has problem to satisfy a request and we wait very long time on
usb_start_wait_urb().

Reported-and-tested-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2014-10-27 14:16:13 -04:00
..
Kconfig
Makefile
rt2x00.h
rt2x00config.c
rt2x00crypto.c
rt2x00debug.c
rt2x00debug.h
rt2x00dev.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2014-07-10 17:00:24 -04:00
rt2x00dump.h
rt2x00firmware.c
rt2x00leds.c
rt2x00leds.h
rt2x00lib.h
rt2x00link.c
rt2x00mac.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2014-07-10 17:00:24 -04:00
rt2x00mmio.c rt2x00: Use dma_zalloc_coherent 2014-06-19 15:49:21 -04:00
rt2x00mmio.h
rt2x00pci.c
rt2x00pci.h
rt2x00queue.c
rt2x00queue.h rt2x00: change beaconing setup on RT2800 2014-06-19 15:49:15 -04:00
rt2x00reg.h
rt2x00soc.c
rt2x00soc.h
rt2x00usb.c rt2x00: tune multi-registers I/O timeout 2014-10-27 14:16:13 -04:00
rt2x00usb.h rt2x00: tune multi-registers I/O timeout 2014-10-27 14:16:13 -04:00
rt61pci.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
rt61pci.h
rt73usb.c
rt73usb.h
rt2400pci.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
rt2400pci.h
rt2500pci.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
rt2500pci.h
rt2500usb.c rt2x00: tune multi-registers I/O timeout 2014-10-27 14:16:13 -04:00
rt2500usb.h
rt2800.h rt2800: correct BBP1_TX_POWER_CTRL mask 2014-09-26 17:06:53 -04:00
rt2800lib.c rt2x00: support Ralink 5362. 2014-08-28 14:49:39 -04:00
rt2800lib.h
rt2800mmio.c
rt2800mmio.h
rt2800pci.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
rt2800pci.h
rt2800soc.c
rt2800usb.c wireless: rt2x00: add new rt2800usb devices 2014-07-15 16:00:03 -04:00
rt2800usb.h