aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/libertas/11d.c
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/11d.c
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/11d.c')
-rw-r--r--drivers/net/wireless/libertas/11d.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/wireless/libertas/11d.c b/drivers/net/wireless/libertas/11d.c
index ab76798df0eb..261bbd55e94f 100644
--- a/drivers/net/wireless/libertas/11d.c
+++ b/drivers/net/wireless/libertas/11d.c
@@ -654,7 +654,8 @@ int libertas_ret_802_11d_domain_info(wlan_private * priv,
654 * @param priv pointer to wlan_private 654 * @param priv pointer to wlan_private
655 * @return 0; -1 655 * @return 0; -1
656 */ 656 */
657int libertas_parse_dnld_countryinfo_11d(wlan_private * priv) 657int libertas_parse_dnld_countryinfo_11d(wlan_private * priv,
658 struct bss_descriptor * bss)
658{ 659{
659 int ret; 660 int ret;
660 wlan_adapter *adapter = priv->adapter; 661 wlan_adapter *adapter = priv->adapter;
@@ -663,8 +664,7 @@ int libertas_parse_dnld_countryinfo_11d(wlan_private * priv)
663 if (priv->adapter->enable11d) { 664 if (priv->adapter->enable11d) {
664 memset(&adapter->parsed_region_chan, 0, 665 memset(&adapter->parsed_region_chan, 0,
665 sizeof(struct parsed_region_chan_11d)); 666 sizeof(struct parsed_region_chan_11d));
666 ret = parse_domain_info_11d(&adapter->pattemptedbssdesc-> 667 ret = parse_domain_info_11d(&bss->countryinfo, 0,
667 countryinfo, 0,
668 &adapter->parsed_region_chan); 668 &adapter->parsed_region_chan);
669 669
670 if (ret == -1) { 670 if (ret == -1) {