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. Change-Id: If4c111fd874a3e17a5df98d306f7f1c8fcaa6a1a Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> --- net/mac80211/cfg.c | 2 ++ net/mac80211/mesh.c | 4 +--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c index a5aa766..6eb8e08 100644 --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c @@ -3155,6 +3155,8 @@ int ieee80211_channel_switch(struct wiphy *wiphy, struct net_device *dev, ifmsh->csa_role = IEEE80211_MESH_CSA_ROLE_NONE; return err; } + changed |= err; + break; #endif default: diff --git a/net/mac80211/mesh.c b/net/mac80211/mesh.c index 5852080..94dff7f 100644 --- a/net/mac80211/mesh.c +++ b/net/mac80211/mesh.c @@ -1091,12 +1091,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, -- 1.8.4.rc3 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html