diff options
author | Juuso Oikarinen <juuso.oikarinen@nokia.com> | 2010-09-21 00:23:32 -0400 |
---|---|---|
committer | Luciano Coelho <luciano.coelho@nokia.com> | 2010-09-28 05:30:05 -0400 |
commit | 78abd3207438b20e099b41cbed58d640cbd237a6 (patch) | |
tree | f09eacf311e167b8d219eda3af52975e985df7c3 /drivers/net/wireless/wl12xx/wl1271.h | |
parent | 52b0e7a61fd4b67fe8efe295297d8549f052f786 (diff) |
wl1271: Add handling for failing hardware scan command
Currently, the driver does not handle a failing hardware command to scan in
any way - effectively, the scan machine will jam until the driver is shut down,
and future scan requests will just return -EBUSY to user space, resulting in
a type of busy-loop. The same problem occurs if the firmware fails to deliver
the scan completion event - add timeout for this.
Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Reviewed-by: Teemu Paasikivi <ext-teemu.3.paasikivi@nokia.com>
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/wl1271.h')
-rw-r--r-- | drivers/net/wireless/wl12xx/wl1271.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/wl12xx/wl1271.h b/drivers/net/wireless/wl12xx/wl1271.h index 3576c1cb067f..cae489300e06 100644 --- a/drivers/net/wireless/wl12xx/wl1271.h +++ b/drivers/net/wireless/wl12xx/wl1271.h | |||
@@ -296,6 +296,7 @@ struct wl1271_rx_mem_pool_addr { | |||
296 | struct wl1271_scan { | 296 | struct wl1271_scan { |
297 | struct cfg80211_scan_request *req; | 297 | struct cfg80211_scan_request *req; |
298 | bool *scanned_ch; | 298 | bool *scanned_ch; |
299 | bool failed; | ||
299 | u8 state; | 300 | u8 state; |
300 | u8 ssid[IW_ESSID_MAX_SIZE+1]; | 301 | u8 ssid[IW_ESSID_MAX_SIZE+1]; |
301 | size_t ssid_len; | 302 | size_t ssid_len; |
@@ -419,7 +420,7 @@ struct wl1271 { | |||
419 | 420 | ||
420 | /* Are we currently scanning */ | 421 | /* Are we currently scanning */ |
421 | struct wl1271_scan scan; | 422 | struct wl1271_scan scan; |
422 | struct work_struct scan_complete_work; | 423 | struct delayed_work scan_complete_work; |
423 | 424 | ||
424 | /* Our association ID */ | 425 | /* Our association ID */ |
425 | u16 aid; | 426 | u16 aid; |