diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2009-04-23 10:10:04 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-05-06 15:14:33 -0400 |
commit | 57c4d7b4c4986037be51476b8e3025d5ba18d8b8 (patch) | |
tree | bcd24a127b4c79891f45799a20867f49c0f7f949 /drivers/net/wireless/b43 | |
parent | f3b85252f081581a8f257545ed748062dce7798b (diff) |
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>
Diffstat (limited to 'drivers/net/wireless/b43')
-rw-r--r-- | drivers/net/wireless/b43/main.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c index a97c6ff0f12e..3c693e6ec904 100644 --- a/drivers/net/wireless/b43/main.c +++ b/drivers/net/wireless/b43/main.c | |||
@@ -3468,11 +3468,6 @@ static int b43_op_config(struct ieee80211_hw *hw, u32 changed) | |||
3468 | if (phy->ops->set_rx_antenna) | 3468 | if (phy->ops->set_rx_antenna) |
3469 | phy->ops->set_rx_antenna(dev, antenna); | 3469 | phy->ops->set_rx_antenna(dev, antenna); |
3470 | 3470 | ||
3471 | /* Update templates for AP/mesh mode. */ | ||
3472 | if (b43_is_mode(wl, NL80211_IFTYPE_AP) || | ||
3473 | b43_is_mode(wl, NL80211_IFTYPE_MESH_POINT)) | ||
3474 | b43_set_beacon_int(dev, conf->beacon_int); | ||
3475 | |||
3476 | if (!!conf->radio_enabled != phy->radio_on) { | 3471 | if (!!conf->radio_enabled != phy->radio_on) { |
3477 | if (conf->radio_enabled) { | 3472 | if (conf->radio_enabled) { |
3478 | b43_software_rfkill(dev, RFKILL_STATE_UNBLOCKED); | 3473 | b43_software_rfkill(dev, RFKILL_STATE_UNBLOCKED); |
@@ -3556,6 +3551,13 @@ static void b43_op_bss_info_changed(struct ieee80211_hw *hw, | |||
3556 | goto out_unlock_mutex; | 3551 | goto out_unlock_mutex; |
3557 | b43_mac_suspend(dev); | 3552 | b43_mac_suspend(dev); |
3558 | 3553 | ||
3554 | /* Update templates for AP/mesh mode. */ | ||
3555 | if (changed & BSS_CHANGED_BEACON_INT && | ||
3556 | (b43_is_mode(wl, NL80211_IFTYPE_AP) || | ||
3557 | b43_is_mode(wl, NL80211_IFTYPE_MESH_POINT) || | ||
3558 | b43_is_mode(wl, NL80211_IFTYPE_ADHOC))) | ||
3559 | b43_set_beacon_int(dev, conf->beacon_int); | ||
3560 | |||
3559 | if (changed & BSS_CHANGED_BASIC_RATES) | 3561 | if (changed & BSS_CHANGED_BASIC_RATES) |
3560 | b43_update_basic_rates(dev, conf->basic_rates); | 3562 | b43_update_basic_rates(dev, conf->basic_rates); |
3561 | 3563 | ||