summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx/wl1271.h
diff options
context:
space:
mode:
authorJuuso Oikarinen2010-09-21 06:23:32 +0200
committerLuciano Coelho2010-09-28 11:30:05 +0200
commit78abd3207438b20e099b41cbed58d640cbd237a6 (patch)
treef09eacf311e167b8d219eda3af52975e985df7c3 /drivers/net/wireless/wl12xx/wl1271.h
parentwl1271: Add hardware recovery mechanism (diff)
downloadkernel-qcow2-linux-78abd3207438b20e099b41cbed58d640cbd237a6.tar.gz
kernel-qcow2-linux-78abd3207438b20e099b41cbed58d640cbd237a6.tar.xz
kernel-qcow2-linux-78abd3207438b20e099b41cbed58d640cbd237a6.zip
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.h3
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 {
struct wl1271_scan {
struct cfg80211_scan_request *req;
bool *scanned_ch;
+ bool failed;
u8 state;
u8 ssid[IW_ESSID_MAX_SIZE+1];
size_t ssid_len;
@@ -419,7 +420,7 @@ struct wl1271 {
/* Are we currently scanning */
struct wl1271_scan scan;
- struct work_struct scan_complete_work;
+ struct delayed_work scan_complete_work;
/* Our association ID */
u16 aid;