diff options
author | Mohamed Abbas <mabbas@linux.intel.com> | 2007-11-11 22:37:42 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2007-11-14 21:16:46 -0500 |
commit | 14577f239fe5193d556ef1471c8667dabd556418 (patch) | |
tree | 1b6c69370bcb0f3b83d492c304471e7d80a921c0 /drivers/net/wireless/iwlwifi/iwl3945-base.c | |
parent | a0af5f14542a2e0687f95e093a33ea7301fe8cc5 (diff) |
iwl3945: place CCK rates in front of OFDM for supported rates
The patch fixes association failure (reason = 18) bug by arranging CCK
rates before OFDM rates. This patch will register with mac80211 the
modified rate arrangement with CCK rate first. Change rate scale algorithm
also to deal with rate change. Fix Txpower and rate Table commands to be
constructed correctly after rearrangement.
Signed-off-by: Mohamed Abbas <mabbas@linux.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/iwl3945-base.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl3945-base.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c index 4f22a7174caf..e4ddbc9ac243 100644 --- a/drivers/net/wireless/iwlwifi/iwl3945-base.c +++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c | |||
@@ -5331,13 +5331,13 @@ static int iwl_init_geos(struct iwl_priv *priv) | |||
5331 | /* 5.2GHz channels start after the 2.4GHz channels */ | 5331 | /* 5.2GHz channels start after the 2.4GHz channels */ |
5332 | modes[A].mode = MODE_IEEE80211A; | 5332 | modes[A].mode = MODE_IEEE80211A; |
5333 | modes[A].channels = &channels[ARRAY_SIZE(iwl_eeprom_band_1)]; | 5333 | modes[A].channels = &channels[ARRAY_SIZE(iwl_eeprom_band_1)]; |
5334 | modes[A].rates = rates; | 5334 | modes[A].rates = &rates[4]; |
5335 | modes[A].num_rates = 8; /* just OFDM */ | 5335 | modes[A].num_rates = 8; /* just OFDM */ |
5336 | modes[A].num_channels = 0; | 5336 | modes[A].num_channels = 0; |
5337 | 5337 | ||
5338 | modes[B].mode = MODE_IEEE80211B; | 5338 | modes[B].mode = MODE_IEEE80211B; |
5339 | modes[B].channels = channels; | 5339 | modes[B].channels = channels; |
5340 | modes[B].rates = &rates[8]; | 5340 | modes[B].rates = rates; |
5341 | modes[B].num_rates = 4; /* just CCK */ | 5341 | modes[B].num_rates = 4; /* just CCK */ |
5342 | modes[B].num_channels = 0; | 5342 | modes[B].num_channels = 0; |
5343 | 5343 | ||