aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/orinoco.h
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2007-10-10 23:56:25 -0400
committerDavid S. Miller <davem@davemloft.net>2008-01-28 18:03:32 -0500
commit1e3428e9e327a6e4163b3674b260dbd719f59839 (patch)
tree98cb9a4e11e72db5da6070c6ff94311097020a13 /drivers/net/wireless/orinoco.h
parent40faacc4078d0fef6daaf6f5d1d332d08631bdd8 (diff)
orinoco: more reliable scan handling
Bring scan result handling more in line with drivers like ipw. Scan results are aggregated and a BSS dropped after 15 seconds if no beacon is received. This allows the driver to interact better with userspace where more than one process may request scans or results at any time. Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/orinoco.h')
-rw-r--r--drivers/net/wireless/orinoco.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/net/wireless/orinoco.h b/drivers/net/wireless/orinoco.h
index 4720fb20d66d..c6b1858abde8 100644
--- a/drivers/net/wireless/orinoco.h
+++ b/drivers/net/wireless/orinoco.h
@@ -36,6 +36,12 @@ typedef enum {
36 FIRMWARE_TYPE_SYMBOL 36 FIRMWARE_TYPE_SYMBOL
37} fwtype_t; 37} fwtype_t;
38 38
39typedef struct {
40 union hermes_scan_info bss;
41 unsigned long last_scanned;
42 struct list_head list;
43} bss_element;
44
39struct orinoco_private { 45struct orinoco_private {
40 void *card; /* Pointer to card dependent structure */ 46 void *card; /* Pointer to card dependent structure */
41 int (*hard_reset)(struct orinoco_private *); 47 int (*hard_reset)(struct orinoco_private *);
@@ -105,10 +111,12 @@ struct orinoco_private {
105 int promiscuous, mc_count; 111 int promiscuous, mc_count;
106 112
107 /* Scanning support */ 113 /* Scanning support */
114 struct list_head bss_list;
115 struct list_head bss_free_list;
116 bss_element *bss_data;
117
108 int scan_inprogress; /* Scan pending... */ 118 int scan_inprogress; /* Scan pending... */
109 u32 scan_mode; /* Type of scan done */ 119 u32 scan_mode; /* Type of scan done */
110 char * scan_result; /* Result of previous scan */
111 int scan_len; /* Lenght of result */
112}; 120};
113 121
114#ifdef ORINOCO_DEBUG 122#ifdef ORINOCO_DEBUG