ath9k: Send AUTHORIZED event only for station mode
authorSujith Manoharan <c_manoha@qca.qualcomm.com>
Fri, 17 Oct 2014 02:10:19 +0000 (07:40 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 27 Oct 2014 18:16:15 +0000 (14:16 -0400)
ATH_CHANCTX_EVENT_AUTHORIZED is required to trigger
the MCC scheduler when a station interface becomes
authorized. But, since the driver gets station state
notifications when the current operating mode is AP
too, make sure that we send ATH_CHANCTX_EVENT_AUTHORIZED
only when the interface is in station mode.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/main.c

index 2048ef1..0545fe6 100644 (file)
@@ -1590,10 +1590,12 @@ static int ath9k_sta_state(struct ieee80211_hw *hw,
        }
 
        if (ath9k_is_chanctx_enabled()) {
-               if (old_state == IEEE80211_STA_ASSOC &&
-                   new_state == IEEE80211_STA_AUTHORIZED)
-                       ath_chanctx_event(sc, vif,
-                                         ATH_CHANCTX_EVENT_AUTHORIZED);
+               if (vif->type == NL80211_IFTYPE_STATION) {
+                       if (old_state == IEEE80211_STA_ASSOC &&
+                           new_state == IEEE80211_STA_AUTHORIZED)
+                               ath_chanctx_event(sc, vif,
+                                                 ATH_CHANCTX_EVENT_AUTHORIZED);
+               }
        }
 
        return ret;