ath9k: Allow user to change tx power when asked
We were also changing tx power even when we were not asked to, this enforces the change only when we are asked nicely. When not asked we simply try to use the max power, we don't tx power at all for rate control. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
f97e40078e
commit
5c020dc6a0
2 changed files with 9 additions and 2 deletions
|
@ -1250,7 +1250,8 @@ static int ath9k_config(struct ieee80211_hw *hw, u32 changed)
|
|||
sc->sc_ah->ah_channels[pos].chanmode =
|
||||
ath_get_extchanmode(sc, curchan);
|
||||
|
||||
sc->sc_config.txpowlimit = 2 * conf->power_level;
|
||||
if (changed & IEEE80211_CONF_CHANGE_POWER)
|
||||
sc->sc_config.txpowlimit = 2 * conf->power_level;
|
||||
|
||||
/* set h/w channel */
|
||||
if (ath_set_channel(sc, &sc->sc_ah->ah_channels[pos]) < 0)
|
||||
|
|
|
@ -230,7 +230,13 @@ static int ath_tx_prepare(struct ath_softc *sc,
|
|||
|
||||
txctl->if_id = 0;
|
||||
txctl->frmlen = skb->len + FCS_LEN - (hdrlen & 3);
|
||||
txctl->txpower = MAX_RATE_POWER; /* FIXME */
|
||||
|
||||
/* Always try at highest power possible unless the the device
|
||||
* was configured by the user to use another power. */
|
||||
if (likely(sc->sc_config.txpowlimit == ATH_TXPOWER_MAX))
|
||||
txctl->txpower = ATH_TXPOWER_MAX;
|
||||
else
|
||||
txctl->txpower = sc->sc_config.txpowlimit;
|
||||
|
||||
/* Fill Key related fields */
|
||||
|
||||
|
|
Loading…
Reference in a new issue