From 7963f35d83bc4e7da5635d6f34d0721c42b60c7c Mon Sep 17 00:00:00 2001 From: Mohamed Abbas Date: Mon, 27 Aug 2007 10:37:22 +0800 Subject: [PATCH 30/31] iwlwifi: fix 11n connection problem This patch fixes 11n connection problem. The problem was related to start rate scale info before calling post_assoc, causing to start with wrong 11n data. Signed-off-by: Mohamed Abbas Signed-off-by: Zhu Yi --- drivers/net/wireless/iwl-4965-rs.c | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/net/wireless/iwl-4965-rs.c b/drivers/net/wireless/iwl-4965-rs.c index 0e2bf1f..a97914f 100644 --- a/drivers/net/wireless/iwl-4965-rs.c +++ b/drivers/net/wireless/iwl-4965-rs.c @@ -1874,15 +1874,17 @@ static void rs_rate_init(void *priv_rate, void *priv_sta, crl->active_rate_basic = priv->active_rate_basic; crl->phymode = priv->phymode; #ifdef CONFIG_IWLWIFI_HT - crl->active_siso_rate = (priv->active_rate_ht[0] << 1); - crl->active_siso_rate |= (priv->active_rate_ht[0] & 0x1); + crl->active_siso_rate = (priv->current_assoc_ht.supp_rates[0] << 1); + crl->active_siso_rate |= (priv->current_assoc_ht.supp_rates[0] & 0x1); crl->active_siso_rate &= ~((u16)0x2); crl->active_siso_rate = crl->active_siso_rate << IWL_FIRST_OFDM_RATE; - crl->active_mimo_rate = (priv->active_rate_ht[1] << 1); - crl->active_mimo_rate |= (priv->active_rate_ht[1] & 0x1); + crl->active_mimo_rate = (priv->current_assoc_ht.supp_rates[1] << 1); + crl->active_mimo_rate |= (priv->current_assoc_ht.supp_rates[1] & 0x1); crl->active_mimo_rate &= ~((u16)0x2); crl->active_mimo_rate = crl->active_mimo_rate << IWL_FIRST_OFDM_RATE; + IWL_DEBUG_HT("MIMO RATE 0x%X SISO MASK 0x%X\n", crl->active_siso_rate, + crl->active_mimo_rate); #endif /*CONFIG_IWLWIFI_HT*/ if (priv) -- 1.5.2