mac80211: move csa_active setting in STA CSA

The sdata->vif.csa_active could be left set after,
e.g. channel context constraints check fail in STA
mode leaving the interface in a strange state for
a brief period of time until it is disconnected.
This was harmless but ugly.

Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Reviewed-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Michal Kazior 2014-01-29 07:56:19 +01:00 committed by Johannes Berg
parent 97518af126
commit c46a73f396
1 changed files with 1 additions and 1 deletions

View File

@ -1012,7 +1012,6 @@ ieee80211_sta_process_chanswitch(struct ieee80211_sub_if_data *sdata,
} }
ifmgd->flags |= IEEE80211_STA_CSA_RECEIVED; ifmgd->flags |= IEEE80211_STA_CSA_RECEIVED;
sdata->vif.csa_active = true;
mutex_lock(&local->chanctx_mtx); mutex_lock(&local->chanctx_mtx);
if (local->use_chanctx) { if (local->use_chanctx) {
@ -1050,6 +1049,7 @@ ieee80211_sta_process_chanswitch(struct ieee80211_sub_if_data *sdata,
mutex_unlock(&local->chanctx_mtx); mutex_unlock(&local->chanctx_mtx);
sdata->csa_chandef = csa_ie.chandef; sdata->csa_chandef = csa_ie.chandef;
sdata->vif.csa_active = true;
if (csa_ie.mode) if (csa_ie.mode)
ieee80211_stop_queues_by_reason(&local->hw, ieee80211_stop_queues_by_reason(&local->hw,