summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/ipw2200.h
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2007-10-09 13:55:24 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-10-10 16:55:06 -0700
commit0b5316769774d1dc2fdd702e095f9e6992af269a (patch)
treef8fc71978ab739b86295440fd67feef80aeddf1c /drivers/net/wireless/ipw2200.h
parent04dd9d39b48636d2698049304fdfb9ca59a88b54 (diff)
[PATCH] ipw2200: batch non-user-requested scan result notifications
ipw2200 makes extensive use of background scanning when unassociated or down. Unfortunately, the firmware sends scan completed events many times per second, which the driver pushes directly up to userspace. This needlessly wakes up processes listening for wireless events many times per second. Batch together scan completed events for non-user-requested scans and send them up to userspace every 4 seconds. Scan completed events resulting from an SIOCSIWSCAN call are pushed up without delay. Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ipw2200.h')
-rw-r--r--drivers/net/wireless/ipw2200.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/ipw2200.h b/drivers/net/wireless/ipw2200.h
index 9c973b96bb42..bec8e37a1738 100644
--- a/drivers/net/wireless/ipw2200.h
+++ b/drivers/net/wireless/ipw2200.h
@@ -1287,6 +1287,8 @@ struct ipw_priv {
struct iw_public_data wireless_data;
+ int user_requested_scan;
+
struct workqueue_struct *workqueue;
struct delayed_work adhoc_check;
@@ -1295,6 +1297,7 @@ struct ipw_priv {
struct work_struct system_config;
struct work_struct rx_replenish;
struct delayed_work request_scan;
+ struct delayed_work scan_event;
struct work_struct request_passive_scan;
struct work_struct adapter_restart;
struct delayed_work rf_kill;