aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/libertas/dev.h
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2007-05-25 17:09:41 -0400
committerJohn W. Linville <linville@tuxdriver.com>2007-06-11 14:28:42 -0400
commite76850d620a0a26fa807b4fa189c64a94789461e (patch)
treeca251090429ebfb75da58af966254d547ba703f6 /drivers/net/wireless/libertas/dev.h
parentef9a264b7a288a07c43ddb244c4f9ab0e8df90e4 (diff)
[PATCH] libertas: make association paths consistent
The BSS to associate with (in either Infrastructure or IBSS join operations) is now stored in _one_ place in the association request (the bss member), not two places as before (pattemptedbss and curbssparams->bssdescriptor). Association requests are passed to the necessary association functions to (a) give them access to the bss member and (b) ensure that association/join/start setup uses settings from the request, not the current adapter settings (which may not be valid for the requested settings). Because the 'bss' member of the association request is used now, the command return functions from associate and adhoc join/start need access to the in-progress association request to update curbssparams when everything is done. The association worker moves the request from pending to in-progress for the duration of the association attempt. Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/libertas/dev.h')
-rw-r--r--drivers/net/wireless/libertas/dev.h27
1 files changed, 15 insertions, 12 deletions
diff --git a/drivers/net/wireless/libertas/dev.h b/drivers/net/wireless/libertas/dev.h
index 4ca60d9323b4..797a1249bcaf 100644
--- a/drivers/net/wireless/libertas/dev.h
+++ b/drivers/net/wireless/libertas/dev.h
@@ -63,7 +63,6 @@ struct wlan_802_11_security {
63 63
64/** Current Basic Service Set State Structure */ 64/** Current Basic Service Set State Structure */
65struct current_bss_params { 65struct current_bss_params {
66 struct bss_descriptor bssdescriptor;
67 /** bssid */ 66 /** bssid */
68 u8 bssid[ETH_ALEN]; 67 u8 bssid[ETH_ALEN];
69 /** ssid */ 68 /** ssid */
@@ -168,18 +167,20 @@ struct _wlan_private {
168struct assoc_request { 167struct assoc_request {
169#define ASSOC_FLAG_SSID 1 168#define ASSOC_FLAG_SSID 1
170#define ASSOC_FLAG_CHANNEL 2 169#define ASSOC_FLAG_CHANNEL 2
171#define ASSOC_FLAG_MODE 3 170#define ASSOC_FLAG_BAND 3
172#define ASSOC_FLAG_BSSID 4 171#define ASSOC_FLAG_MODE 4
173#define ASSOC_FLAG_WEP_KEYS 5 172#define ASSOC_FLAG_BSSID 5
174#define ASSOC_FLAG_WEP_TX_KEYIDX 6 173#define ASSOC_FLAG_WEP_KEYS 6
175#define ASSOC_FLAG_WPA_MCAST_KEY 7 174#define ASSOC_FLAG_WEP_TX_KEYIDX 7
176#define ASSOC_FLAG_WPA_UCAST_KEY 8 175#define ASSOC_FLAG_WPA_MCAST_KEY 8
177#define ASSOC_FLAG_SECINFO 9 176#define ASSOC_FLAG_WPA_UCAST_KEY 9
178#define ASSOC_FLAG_WPA_IE 10 177#define ASSOC_FLAG_SECINFO 10
178#define ASSOC_FLAG_WPA_IE 11
179 unsigned long flags; 179 unsigned long flags;
180 180
181 struct WLAN_802_11_SSID ssid; 181 struct WLAN_802_11_SSID ssid;
182 u8 channel; 182 u8 channel;
183 u8 band;
183 u8 mode; 184 u8 mode;
184 u8 bssid[ETH_ALEN]; 185 u8 bssid[ETH_ALEN];
185 186
@@ -196,6 +197,9 @@ struct assoc_request {
196 /** WPA Information Elements*/ 197 /** WPA Information Elements*/
197 u8 wpa_ie[MAX_WPA_IE_LEN]; 198 u8 wpa_ie[MAX_WPA_IE_LEN];
198 u8 wpa_ie_len; 199 u8 wpa_ie_len;
200
201 /* BSS to associate with for infrastructure of Ad-Hoc join */
202 struct bss_descriptor bss;
199}; 203};
200 204
201/** Wlan adapter data structure*/ 205/** Wlan adapter data structure*/
@@ -252,8 +256,6 @@ struct _wlan_adapter {
252 /* IW_MODE_* */ 256 /* IW_MODE_* */
253 u8 mode; 257 u8 mode;
254 258
255 struct bss_descriptor *pattemptedbssdesc;
256
257 struct WLAN_802_11_SSID previousssid; 259 struct WLAN_802_11_SSID previousssid;
258 u8 previousbssid[ETH_ALEN]; 260 u8 previousbssid[ETH_ALEN];
259 261
@@ -322,7 +324,8 @@ struct _wlan_adapter {
322 u16 locallisteninterval; 324 u16 locallisteninterval;
323 u16 nullpktinterval; 325 u16 nullpktinterval;
324 326
325 struct assoc_request * assoc_req; 327 struct assoc_request * pending_assoc_req;
328 struct assoc_request * in_progress_assoc_req;
326 329
327 /** Encryption parameter */ 330 /** Encryption parameter */
328 struct wlan_802_11_security secinfo; 331 struct wlan_802_11_security secinfo;