Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bee488dbd7effea4c4a483b0a336df331066bb3c
Commit:     bee488dbd7effea4c4a483b0a336df331066bb3c
Parent:     d9fd0c9969282609b663a1d933f0777118dd084c
Author:     mabbas <[EMAIL PROTECTED]>
AuthorDate: Thu Oct 25 17:15:42 2007 +0800
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Mon Jan 28 15:03:21 2008 -0800

    iwl4965: exclude 60M rate from probe request
    
    This patch do the following 2 things:
    1. Make sure we don't add rate 60M part of supported rate in proble request,
       some AP does not like that.
    2. It is wrong to set priv->active_rate in this function, this will set
       it to all avialable rates which might overwrite the mode supported rate.
       priv->active_rate should be set by only from iwl_set_rate.
    
    Signed-off-by: Mohamed Abbas <[EMAIL PROTECTED]>
    Signed-off-by: Zhu Yi <[EMAIL PROTECTED]>
    Signed-off-by: John W. Linville <[EMAIL PROTECTED]>
---
 drivers/net/wireless/iwlwifi/iwl4965-base.c |   16 +++++++++-------
 1 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c 
b/drivers/net/wireless/iwlwifi/iwl4965-base.c
index 5408b53..a9415ca 100644
--- a/drivers/net/wireless/iwlwifi/iwl4965-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c
@@ -1833,7 +1833,7 @@ static u16 iwl_fill_probe_req(struct iwl_priv *priv,
 {
        int len = 0;
        u8 *pos = NULL;
-       u16 active_rates, ret_rates, cck_rates;
+       u16 active_rates, ret_rates, cck_rates, active_rate_basic;
 
        /* Make sure there is enough space for the probe request,
         * two mandatory IEs and the data */
@@ -1883,17 +1883,19 @@ static u16 iwl_fill_probe_req(struct iwl_priv *priv,
        *pos++ = WLAN_EID_SUPP_RATES;
        *pos = 0;
 
-       priv->active_rate = priv->rates_mask;
-       active_rates = priv->active_rate;
-       priv->active_rate_basic = priv->rates_mask & IWL_BASIC_RATES_MASK;
+       /* exclude 60M rate */
+       active_rates = priv->rates_mask;
+       active_rates &= ~IWL_RATE_60M_MASK;
+
+       active_rate_basic = active_rates & IWL_BASIC_RATES_MASK;
 
        cck_rates = IWL_CCK_RATES_MASK & active_rates;
        ret_rates = iwl_supported_rate_to_ie(pos, cck_rates,
-                       priv->active_rate_basic, &left);
+                       active_rate_basic, &left);
        active_rates &= ~ret_rates;
 
        ret_rates = iwl_supported_rate_to_ie(pos, active_rates,
-                                priv->active_rate_basic, &left);
+                                active_rate_basic, &left);
        active_rates &= ~ret_rates;
 
        len += 2 + *pos;
@@ -1910,7 +1912,7 @@ static u16 iwl_fill_probe_req(struct iwl_priv *priv,
        *pos++ = WLAN_EID_EXT_SUPP_RATES;
        *pos = 0;
        iwl_supported_rate_to_ie(pos, active_rates,
-                                priv->active_rate_basic, &left);
+                                active_rate_basic, &left);
        if (*pos > 0)
                len += 2 + *pos;
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to