mac80211: align ieee80211_ibss_csa_beacon() with ieee80211_assign_beacon()
authorLuciano Coelho <luciano.coelho@intel.com>
Fri, 13 Dec 2013 19:13:51 +0000 (21:13 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 16 Dec 2013 14:07:47 +0000 (15:07 +0100)
The return value of ieee80211_ibss_csa_beacon is not aligned with the
return value of ieee80211_assign_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.

Tested by: Simon Wunderlich <sw@simonwunderlich.de>
Acked by: Simon Wunderlich <sw@simonwunderlich.de>
Signed-off-by: Luciano Coelho <luciano.coelho@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/ibss.c

index 5ad318329215c6b3520d4e5734107b7b2dba895b..d6ba841437b6e41986163976e71650a9c911bbbf 100644 (file)
@@ -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;
 }
@@ -563,6 +563,9 @@ int ieee80211_ibss_finish_csa(struct ieee80211_sub_if_data *sdata)
        if (err < 0)
                return err;
 
+       if (err)
+               ieee80211_bss_info_change_notify(sdata, err);
+
        return 0;
 }