From ef9a264b7a288a07c43ddb244c4f9ab0e8df90e4 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Fri, 25 May 2007 16:46:33 -0400 Subject: [PATCH] libertas: move channel changing into association framework Handle channel changes through the deferred association framework rather than directly. Fixes errors when setting channels along with other parameters like mode and SSID. Signed-off-by: Dan Williams Signed-off-by: John W. Linville --- drivers/net/wireless/libertas/join.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'drivers/net/wireless/libertas/join.c') diff --git a/drivers/net/wireless/libertas/join.c b/drivers/net/wireless/libertas/join.c index c9111b87706..a11ce3a6f61 100644 --- a/drivers/net/wireless/libertas/join.c +++ b/drivers/net/wireless/libertas/join.c @@ -158,7 +158,6 @@ int libertas_start_adhoc_network(wlan_private * priv, struct WLAN_802_11_SSID *a libertas_set_radio_control(priv); - lbs_deb_join("Adhoc channel = %d\n", adapter->adhocchannel); lbs_deb_join("curbssparams.channel = %d\n", adapter->curbssparams.channel); lbs_deb_join("curbssparams.band = %d\n", adapter->curbssparams.band); @@ -513,15 +512,13 @@ int libertas_cmd_80211_ad_hoc_start(wlan_private * priv, adhs->phyparamset.dsparamset.elementid = DS_PARA_IE_ID; adhs->phyparamset.dsparamset.len = DS_PARA_IE_LEN; - WARN_ON(!adapter->adhocchannel); + WARN_ON(!adapter->curbssparams.channel); lbs_deb_join("ADHOC_S_CMD: Creating ADHOC on channel %d\n", - adapter->adhocchannel); - - adapter->curbssparams.channel = adapter->adhocchannel; + adapter->curbssparams.channel); - pbssdesc->channel = adapter->adhocchannel; - adhs->phyparamset.dsparamset.currentchan = adapter->adhocchannel; + pbssdesc->channel = adapter->curbssparams.channel; + adhs->phyparamset.dsparamset.currentchan = adapter->curbssparams.channel; memcpy(&pbssdesc->phyparamset, &adhs->phyparamset, sizeof(union ieeetypes_phyparamset)); @@ -909,7 +906,7 @@ int libertas_ret_80211_ad_hoc_start(wlan_private * priv, wireless_send_event(priv->dev, SIOCGIWAP, &wrqu, NULL); lbs_deb_join("ADHOC_RESP: - Joined/Started Ad Hoc\n"); - lbs_deb_join("ADHOC_RESP: channel = %d\n", adapter->adhocchannel); + lbs_deb_join("ADHOC_RESP: channel = %d\n", adapter->curbssparams.channel); lbs_deb_join("ADHOC_RESP: BSSID = %02x:%02x:%02x:%02x:%02x:%02x\n", padhocresult->BSSID[0], padhocresult->BSSID[1], padhocresult->BSSID[2], padhocresult->BSSID[3], -- cgit v1.2.3