|
@@ -1564,13 +1564,13 @@ static int ath9k_sta_state(struct ieee80211_hw *hw,
|
|
struct ath_common *common = ath9k_hw_common(sc->sc_ah);
|
|
struct ath_common *common = ath9k_hw_common(sc->sc_ah);
|
|
int ret = 0;
|
|
int ret = 0;
|
|
|
|
|
|
- if (old_state == IEEE80211_STA_AUTH &&
|
|
|
|
- new_state == IEEE80211_STA_ASSOC) {
|
|
|
|
|
|
+ if (old_state == IEEE80211_STA_NOTEXIST &&
|
|
|
|
+ new_state == IEEE80211_STA_NONE) {
|
|
ret = ath9k_sta_add(hw, vif, sta);
|
|
ret = ath9k_sta_add(hw, vif, sta);
|
|
ath_dbg(common, CONFIG,
|
|
ath_dbg(common, CONFIG,
|
|
"Add station: %pM\n", sta->addr);
|
|
"Add station: %pM\n", sta->addr);
|
|
- } else if (old_state == IEEE80211_STA_ASSOC &&
|
|
|
|
- new_state == IEEE80211_STA_AUTH) {
|
|
|
|
|
|
+ } else if (old_state == IEEE80211_STA_NONE &&
|
|
|
|
+ new_state == IEEE80211_STA_NOTEXIST) {
|
|
ret = ath9k_sta_remove(hw, vif, sta);
|
|
ret = ath9k_sta_remove(hw, vif, sta);
|
|
ath_dbg(common, CONFIG,
|
|
ath_dbg(common, CONFIG,
|
|
"Remove station: %pM\n", sta->addr);
|
|
"Remove station: %pM\n", sta->addr);
|