@@ -522,7 +522,7 @@ int ieee80211_ibss_csa_beacon(struct ieee80211_sub_if_data *sdata,
if (csa_settings)
ieee80211_send_action_csa(sdata, csa_settings);
- ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_BEACON);
+ return BSS_CHANGED_BEACON;
out:
return ret;
}
@@ -559,9 +559,15 @@ int ieee80211_ibss_finish_csa(struct ieee80211_sub_if_data *sdata)
/* generate the beacon */
err = ieee80211_ibss_csa_beacon(sdata, NULL);
- sdata_unlock(sdata);
- if (err < 0)
+ if (err < 0) {
+ sdata_unlock(sdata);
return err;
+ }
+
+ if (err)
+ ieee80211_bss_info_change_notify(sdata, err);
+
+ sdata_unlock(sdata);
return 0;
}
The return value of ieee80211_ibss_csa_beacon is not aligned with the return value of ieee80211_csa_beacon(). For consistency and to be able to use both functions with similar code, change ieee80211_ibss_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 is a new patch in the series to make things ready for patch 4/4. net/mac80211/ibss.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-)