@@ -3135,6 +3135,8 @@ int ieee80211_channel_switch(struct wiphy *wiphy, struct net_device *dev,
ifmsh->csa_repeater = false;
return err;
}
+ changed |= err;
+
break;
#endif
default:
@@ -1094,12 +1094,10 @@ int ieee80211_mesh_csa_beacon(struct ieee80211_sub_if_data *sdata,
return ret;
}
- ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_BEACON);
-
if (csa_action)
ieee80211_send_action_csa(sdata, csa_settings);
- return 0;
+ return BSS_CHANGED_BEACON;
}
static int mesh_fwd_csa_frame(struct ieee80211_sub_if_data *sdata,
The return value of ieee80211_mesh_csa_beacon is not aligned with the return value of ieee80211_csa_beacon() and ieee80211_ibss_csa_beacon(). For consistency and to be able to use both functions with similar code, change ieee80211_mesh_csa_beacon() not to send the bss changed notification itself, but return what has changed so the caller can send the notification instead. Signed-off-by: Luciano Coelho <luciano.coelho@intel.com> --- This depends on Chun-Yeow's "mac80211: fix the mesh channel switch support", which Johannes already applied but is not in wireless-testing yet. net/mac80211/cfg.c | 2 ++ net/mac80211/mesh.c | 4 +--- 2 files changed, 3 insertions(+), 3 deletions(-)