mac80211: clean up beacon interval settings
We currently have two beacon interval configuration knobs: hw.conf.beacon_int and vif.bss_info.beacon_int. This is rather confusing, even though the former is used when we beacon ourselves and the latter when we are associated to an AP. This just deprecates the hw.conf.beacon_int setting in favour of always using vif.bss_info.beacon_int. Since it touches all the beaconing IBSS code anyway, we can also add support for the cfg80211 IBSS beacon interval configuration easily. NOTE: The hw.conf.beacon_int setting is retained for now due to drivers still using it -- I couldn't untangle all drivers, some are updated in this patch. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
f3b85252f0
commit
57c4d7b4c4
@@ -2358,16 +2358,6 @@ skip_chan_change:
|
||||
if (changed & IEEE80211_CONF_CHANGE_POWER)
|
||||
sc->config.txpowlimit = 2 * conf->power_level;
|
||||
|
||||
/*
|
||||
* The HW TSF has to be reset when the beacon interval changes.
|
||||
* We set the flag here, and ath_beacon_config_ap() would take this
|
||||
* into account when it gets called through the subsequent
|
||||
* config_interface() call - with IFCC_BEACON in the changed field.
|
||||
*/
|
||||
|
||||
if (changed & IEEE80211_CONF_CHANGE_BEACON_INTERVAL)
|
||||
sc->sc_flags |= SC_OP_TSF_RESET;
|
||||
|
||||
mutex_unlock(&sc->mutex);
|
||||
|
||||
return 0;
|
||||
@@ -2635,6 +2625,18 @@ static void ath9k_bss_info_changed(struct ieee80211_hw *hw,
|
||||
ath9k_bss_assoc_info(sc, vif, bss_conf);
|
||||
}
|
||||
|
||||
/*
|
||||
* The HW TSF has to be reset when the beacon interval changes.
|
||||
* We set the flag here, and ath_beacon_config_ap() would take this
|
||||
* into account when it gets called through the subsequent
|
||||
* config_interface() call - with IFCC_BEACON in the changed field.
|
||||
*/
|
||||
|
||||
if (changed & BSS_CHANGED_BEACON_INT) {
|
||||
sc->sc_flags |= SC_OP_TSF_RESET;
|
||||
sc->beacon_interval = bss_conf->beacon_int;
|
||||
}
|
||||
|
||||
mutex_unlock(&sc->mutex);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user