From: Sara Sharon <[email protected]>

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 <[email protected]>
Signed-off-by: Luca Coelho <[email protected]>
---
 net/mac80211/mlme.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index ad963204ece9..5f9290f5b892 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -1332,7 +1332,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,
-- 
2.20.1

Reply via email to