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:
parent
97518af126
commit
c46a73f396
|
@ -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,
|
||||||
|
|
Loading…
Reference in New Issue