wifi: mac80211: allow bw change during channel switch in mesh
authorHari Chandrakanthan <quic_haric@quicinc.com>
Wed, 27 Jul 2022 06:32:29 +0000 (12:02 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 26 Oct 2022 10:34:39 +0000 (12:34 +0200)
[ Upstream commit 6b75f133fe05c36c52d691ff21545d5757fff721 ]

From 'IEEE Std 802.11-2020 section 11.8.8.4.1':
  The mesh channel switch may be triggered by the need to avoid
  interference to a detected radar signal, or to reassign mesh STA
  channels to ensure the MBSS connectivity.

  A 20/40 MHz MBSS may be changed to a 20 MHz MBSS and a 20 MHz
  MBSS may be changed to a 20/40 MHz MBSS.

Since the standard allows the change of bandwidth during
the channel switch in mesh, remove the bandwidth check present in
ieee80211_set_csa_beacon.

Fixes: c6da674aff94 ("{nl,cfg,mac}80211: enable the triggering of CSA frame in mesh")
Signed-off-by: Hari Chandrakanthan <quic_haric@quicinc.com>
Link: https://lore.kernel.org/r/1658903549-21218-1-git-send-email-quic_haric@quicinc.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/mac80211/cfg.c

index 3f625e8..4fa216a 100644 (file)
@@ -3384,9 +3384,6 @@ static int ieee80211_set_csa_beacon(struct ieee80211_sub_if_data *sdata,
        case NL80211_IFTYPE_MESH_POINT: {
                struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
 
-               if (params->chandef.width != sdata->vif.bss_conf.chandef.width)
-                       return -EINVAL;
-
                /* changes into another band are not supported */
                if (sdata->vif.bss_conf.chandef.chan->band !=
                    params->chandef.chan->band)