summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ipw2x00/libipw.h
diff options
context:
space:
mode:
authorStanislaw Gruszka <sgruszka@redhat.com>2014-10-08 14:16:37 +0200
committerJohn W. Linville <linville@tuxdriver.com>2014-10-27 14:16:13 -0400
commite9dc51aa2b0fe64d23561544c67db939b71bd32c (patch)
treee340750fa2dea7835e24612f1415e10c91cba126 /drivers/net/wireless/ipw2x00/libipw.h
parentab54bc8460b5730ce4d2b50f5b928b230ec994d9 (diff)
downloadop-kernel-dev-e9dc51aa2b0fe64d23561544c67db939b71bd32c.zip
op-kernel-dev-e9dc51aa2b0fe64d23561544c67db939b71bd32c.tar.gz
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>
Diffstat (limited to 'drivers/net/wireless/ipw2x00/libipw.h')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud