diff options
-rw-r--r-- | drivers/net/wireless/ath9k/main.c | 3 | ||||
-rw-r--r-- | drivers/net/wireless/ath9k/xmit.c | 8 |
2 files changed, 9 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath9k/main.c b/drivers/net/wireless/ath9k/main.c index a7656a3ea1b0..795fed5cadfa 100644 --- a/drivers/net/wireless/ath9k/main.c +++ b/drivers/net/wireless/ath9k/main.c | |||
@@ -1250,7 +1250,8 @@ static int ath9k_config(struct ieee80211_hw *hw, u32 changed) | |||
1250 | sc->sc_ah->ah_channels[pos].chanmode = | 1250 | sc->sc_ah->ah_channels[pos].chanmode = |
1251 | ath_get_extchanmode(sc, curchan); | 1251 | ath_get_extchanmode(sc, curchan); |
1252 | 1252 | ||
1253 | sc->sc_config.txpowlimit = 2 * conf->power_level; | 1253 | if (changed & IEEE80211_CONF_CHANGE_POWER) |
1254 | sc->sc_config.txpowlimit = 2 * conf->power_level; | ||
1254 | 1255 | ||
1255 | /* set h/w channel */ | 1256 | /* set h/w channel */ |
1256 | if (ath_set_channel(sc, &sc->sc_ah->ah_channels[pos]) < 0) | 1257 | if (ath_set_channel(sc, &sc->sc_ah->ah_channels[pos]) < 0) |
diff --git a/drivers/net/wireless/ath9k/xmit.c b/drivers/net/wireless/ath9k/xmit.c index 8073c71b3a67..2f27a04487b4 100644 --- a/drivers/net/wireless/ath9k/xmit.c +++ b/drivers/net/wireless/ath9k/xmit.c | |||
@@ -230,7 +230,13 @@ static int ath_tx_prepare(struct ath_softc *sc, | |||
230 | 230 | ||
231 | txctl->if_id = 0; | 231 | txctl->if_id = 0; |
232 | txctl->frmlen = skb->len + FCS_LEN - (hdrlen & 3); | 232 | txctl->frmlen = skb->len + FCS_LEN - (hdrlen & 3); |
233 | txctl->txpower = MAX_RATE_POWER; /* FIXME */ | 233 | |
234 | /* Always try at highest power possible unless the the device | ||
235 | * was configured by the user to use another power. */ | ||
236 | if (likely(sc->sc_config.txpowlimit == ATH_TXPOWER_MAX)) | ||
237 | txctl->txpower = ATH_TXPOWER_MAX; | ||
238 | else | ||
239 | txctl->txpower = sc->sc_config.txpowlimit; | ||
234 | 240 | ||
235 | /* Fill Key related fields */ | 241 | /* Fill Key related fields */ |
236 | 242 | ||