mwl8k: don't call SET_AID if we're not associated
authorLennert Buytenhek <buytenh@wantstofly.org>
Tue, 12 Jan 2010 12:47:37 +0000 (13:47 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 12 Jan 2010 19:21:09 +0000 (14:21 -0500)
Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/mwl8k.c

index f2c4524..67ee3da 100644 (file)
@@ -3261,9 +3261,9 @@ mwl8k_bss_info_changed_sta(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
        /*
         * Get the AP's legacy and MCS rates.
         */
-       ap_legacy_rates = 0;
        if (vif->bss_conf.assoc) {
                struct ieee80211_sta *ap;
+
                rcu_read_lock();
 
                ap = ieee80211_find_sta(vif, vif->bss_conf.bssid);
@@ -3301,8 +3301,9 @@ mwl8k_bss_info_changed_sta(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
                        goto out;
        }
 
-       if (((changed & BSS_CHANGED_ASSOC) && vif->bss_conf.assoc) ||
-           (changed & (BSS_CHANGED_ERP_CTS_PROT | BSS_CHANGED_HT))) {
+       if (vif->bss_conf.assoc &&
+           (changed & (BSS_CHANGED_ASSOC | BSS_CHANGED_ERP_CTS_PROT |
+                       BSS_CHANGED_HT))) {
                rc = mwl8k_cmd_set_aid(hw, vif, ap_legacy_rates);
                if (rc)
                        goto out;