aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/libertas/join.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/join.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/join.h')
-rw-r--r--drivers/net/wireless/libertas/join.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/wireless/libertas/join.h b/drivers/net/wireless/libertas/join.h
index 115f5a8ba346..c84e33cf8752 100644
--- a/drivers/net/wireless/libertas/join.h
+++ b/drivers/net/wireless/libertas/join.h
@@ -9,6 +9,7 @@
9#define _WLAN_JOIN_H 9#define _WLAN_JOIN_H
10 10
11#include "defs.h" 11#include "defs.h"
12#include "dev.h"
12 13
13struct cmd_ds_command; 14struct cmd_ds_command;
14extern int libertas_cmd_80211_authenticate(wlan_private * priv, 15extern int libertas_cmd_80211_authenticate(wlan_private * priv,
@@ -21,7 +22,7 @@ extern int libertas_cmd_80211_ad_hoc_stop(wlan_private * priv,
21 struct cmd_ds_command *cmd); 22 struct cmd_ds_command *cmd);
22extern int libertas_cmd_80211_ad_hoc_start(wlan_private * priv, 23extern int libertas_cmd_80211_ad_hoc_start(wlan_private * priv,
23 struct cmd_ds_command *cmd, 24 struct cmd_ds_command *cmd,
24 void *pssid); 25 void *pdata_buf);
25extern int libertas_cmd_80211_deauthenticate(wlan_private * priv, 26extern int libertas_cmd_80211_deauthenticate(wlan_private * priv,
26 struct cmd_ds_command *cmd); 27 struct cmd_ds_command *cmd);
27extern int libertas_cmd_80211_associate(wlan_private * priv, 28extern int libertas_cmd_80211_associate(wlan_private * priv,
@@ -43,8 +44,9 @@ struct WLAN_802_11_SSID;
43struct bss_descriptor; 44struct bss_descriptor;
44 45
45extern int libertas_start_adhoc_network(wlan_private * priv, 46extern int libertas_start_adhoc_network(wlan_private * priv,
46 struct WLAN_802_11_SSID *adhocssid); 47 struct assoc_request * assoc_req);
47extern int libertas_join_adhoc_network(wlan_private * priv, struct bss_descriptor *pbssdesc); 48extern int libertas_join_adhoc_network(wlan_private * priv,
49 struct assoc_request * assoc_req);
48extern int libertas_stop_adhoc_network(wlan_private * priv); 50extern int libertas_stop_adhoc_network(wlan_private * priv);
49 51
50extern int libertas_send_deauthentication(wlan_private * priv); 52extern int libertas_send_deauthentication(wlan_private * priv);
@@ -52,6 +54,6 @@ extern int libertas_send_deauth(wlan_private * priv);
52 54
53extern int libertas_do_adhocstop_ioctl(wlan_private * priv); 55extern int libertas_do_adhocstop_ioctl(wlan_private * priv);
54 56
55int wlan_associate(wlan_private * priv, struct bss_descriptor * pbssdesc); 57int wlan_associate(wlan_private * priv, struct assoc_request * assoc_req);
56 58
57#endif 59#endif