diff options
author | Tomas Winkler <tomas.winkler@intel.com> | 2008-06-30 05:23:14 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-06-30 17:37:41 -0400 |
commit | 9185159d3e29eb5ef15c125089fd40c36ce0c24f (patch) | |
tree | 23e3edfe845461ecb953eb7e4b9092bb03311f61 /drivers/net/wireless/iwlwifi | |
parent | 36e1f16ed293d47f052f3532f2fc74c1bfe9c09e (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.c | 21 |
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, |