mac80211: allow CSA to self with immediate quiet
authorSara Sharon <sara.sharon@intel.com>
Wed, 6 Feb 2019 11:17:16 +0000 (13:17 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 22 Feb 2019 12:46:04 +0000 (13:46 +0100)
Currently, due to some buggy APs that continue to include
CSA IEs after the switch, we ignore CSA to same channel.
However, some other APs may do CSA to self in order to have
immediate quiet. Allow it. Do it only for beacons.

Signed-off-by: Sara Sharon <sara.sharon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/mlme.c

index 4116566..e20456c 100644 (file)
@@ -1353,7 +1353,8 @@ ieee80211_sta_process_chanswitch(struct ieee80211_sub_if_data *sdata,
        }
 
        if (cfg80211_chandef_identical(&csa_ie.chandef,
-                                      &sdata->vif.bss_conf.chandef)) {
+                                      &sdata->vif.bss_conf.chandef) &&
+           (!csa_ie.mode || !beacon)) {
                if (ifmgd->csa_ignored_same_chan)
                        return;
                sdata_info(sdata,