diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath5k/base.c')
-rw-r--r-- | drivers/net/wireless/ath/ath5k/base.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c index 7b80cebffd41..d70856a9520e 100644 --- a/drivers/net/wireless/ath/ath5k/base.c +++ b/drivers/net/wireless/ath/ath5k/base.c | |||
@@ -2747,12 +2747,21 @@ static int | |||
2747 | ath5k_config(struct ieee80211_hw *hw, u32 changed) | 2747 | ath5k_config(struct ieee80211_hw *hw, u32 changed) |
2748 | { | 2748 | { |
2749 | struct ath5k_softc *sc = hw->priv; | 2749 | struct ath5k_softc *sc = hw->priv; |
2750 | struct ath5k_hw *ah = sc->ah; | ||
2750 | struct ieee80211_conf *conf = &hw->conf; | 2751 | struct ieee80211_conf *conf = &hw->conf; |
2751 | int ret; | 2752 | int ret; |
2752 | 2753 | ||
2753 | mutex_lock(&sc->lock); | 2754 | mutex_lock(&sc->lock); |
2754 | 2755 | ||
2755 | sc->power_level = conf->power_level; | 2756 | sc->bintval = conf->beacon_int; |
2757 | |||
2758 | if ((changed & IEEE80211_CONF_CHANGE_POWER) && | ||
2759 | (sc->power_level != conf->power_level)) { | ||
2760 | sc->power_level = conf->power_level; | ||
2761 | |||
2762 | /* Half dB steps */ | ||
2763 | ath5k_hw_set_txpower_limit(ah, (conf->power_level * 2)); | ||
2764 | } | ||
2756 | 2765 | ||
2757 | ret = ath5k_chan_set(sc, conf->channel); | 2766 | ret = ath5k_chan_set(sc, conf->channel); |
2758 | 2767 | ||