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
@@ -2721,11 +2721,6 @@ static int b43legacy_op_dev_config(struct ieee80211_hw *hw,
|
||||
/* Antennas for RX and management frame TX. */
|
||||
b43legacy_mgmtframe_txantenna(dev, antenna_tx);
|
||||
|
||||
/* Update templates for AP mode. */
|
||||
if (b43legacy_is_mode(wl, NL80211_IFTYPE_AP))
|
||||
b43legacy_set_beacon_int(dev, conf->beacon_int);
|
||||
|
||||
|
||||
if (!!conf->radio_enabled != phy->radio_on) {
|
||||
if (conf->radio_enabled) {
|
||||
b43legacy_radio_turn_on(dev);
|
||||
@@ -2827,6 +2822,11 @@ static void b43legacy_op_bss_info_changed(struct ieee80211_hw *hw,
|
||||
|
||||
b43legacy_mac_suspend(dev);
|
||||
|
||||
if (changed & BSS_CHANGED_BEACON_INT &&
|
||||
(b43legacy_is_mode(wl, NL80211_IFTYPE_AP) ||
|
||||
b43legacy_is_mode(wl, NL80211_IFTYPE_ADHOC)))
|
||||
b43legacy_set_beacon_int(dev, conf->beacon_int);
|
||||
|
||||
if (changed & BSS_CHANGED_BASIC_RATES)
|
||||
b43legacy_update_basic_rates(dev, conf->basic_rates);
|
||||
|
||||
|
Reference in New Issue
Block a user