aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi
diff options
context:
space:
mode:
authorTomas Winkler <tomas.winkler@intel.com>2008-06-30 05:23:14 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-06-30 17:37:41 -0400
commit9185159d3e29eb5ef15c125089fd40c36ce0c24f (patch)
tree23e3edfe845461ecb953eb7e4b9092bb03311f61 /drivers/net/wireless/iwlwifi
parent36e1f16ed293d47f052f3532f2fc74c1bfe9c09e (diff)
iwlwifi: fix IBSS association flow
This patch fixes regression caused by 'iwlwifi: send ADD_STA before RXON with assoc bit' patch. RXON associated wasn't IBSS flow. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Assaf Krauss <assaf.krauss@intel.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl4965-base.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c
index bb3e61c09cb4..144b1daa9d7a 100644
--- a/drivers/net/wireless/iwlwifi/iwl4965-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c
@@ -344,16 +344,19 @@ static int iwl4965_commit_rxon(struct iwl_priv *priv)
344 344
345 /* If we have set the ASSOC_MSK and we are in BSS mode then 345 /* If we have set the ASSOC_MSK and we are in BSS mode then
346 * add the IWL_AP_ID to the station rate table */ 346 * add the IWL_AP_ID to the station rate table */
347 if (new_assoc && (priv->iw_mode == IEEE80211_IF_TYPE_STA)) { 347 if (new_assoc) {
348 if (iwl_rxon_add_station(priv, priv->active_rxon.bssid_addr, 1) 348 if (priv->iw_mode == IEEE80211_IF_TYPE_STA) {
349 == IWL_INVALID_STATION) { 349 ret = iwl_rxon_add_station(priv,
350 IWL_ERROR("Error adding AP address for transmit.\n"); 350 priv->active_rxon.bssid_addr, 1);
351 return -EIO; 351 if (ret == IWL_INVALID_STATION) {
352 IWL_ERROR("Error adding AP address for TX.\n");
353 return -EIO;
354 }
355 priv->assoc_station_added = 1;
356 if (priv->default_wep_key &&
357 iwl_send_static_wepkey_cmd(priv, 0))
358 IWL_ERROR("Could not send WEP static key.\n");
352 } 359 }
353 priv->assoc_station_added = 1;
354 if (priv->default_wep_key &&
355 iwl_send_static_wepkey_cmd(priv, 0))
356 IWL_ERROR("Could not send WEP static key.\n");
357 360
358 /* Apply the new configuration 361 /* Apply the new configuration
359 * RXON assoc doesn't clear the station table in uCode, 362 * RXON assoc doesn't clear the station table in uCode,