- (IW_MAX_TXPOWER - i - 1) * step;
range->txpower_capa = IW_TXPOW_DBM;
-@@ -1382,10 +1388,8 @@ ieee80211_ioctl_siwtxpow(struct net_devi
- disabled = (fixed && vap->iv_bss->ni_txpower == 0);
+@@ -1379,13 +1385,11 @@ ieee80211_ioctl_siwtxpow(struct net_devi
+ int fixed, disabled;
+
+ fixed = (ic->ic_flags & IEEE80211_F_TXPOW_FIXED);
+- disabled = (fixed && vap->iv_bss->ni_txpower == 0);
++ disabled = (fixed && ic->ic_txpowlimit == 0);
if (rrq->disabled) {
if (!disabled) {
- if ((ic->ic_caps & IEEE80211_C_TXPMGT) == 0)
static void ath_poll_disable(struct net_device *dev);
static void ath_poll_enable(struct net_device *dev);
-@@ -3159,7 +3158,7 @@ ath_tx_startraw(struct net_device *dev,
+@@ -3167,7 +3166,7 @@ ath_tx_startraw(struct net_device *dev,
try0 = ph->try0;
rt = sc->sc_currates;
txrate = dot11_to_ratecode(sc, rt, ph->rate0);
hdrlen = ieee80211_anyhdrsize(wh);
pktlen = skb->len + IEEE80211_CRC_LEN;
-@@ -8381,7 +8380,7 @@ ath_tx_start(struct net_device *dev, str
+@@ -8389,7 +8388,7 @@ ath_tx_start(struct net_device *dev, str
pktlen, /* packet length */
hdrlen, /* header length */
atype, /* Atheros packet type */
txrate, try0, /* series 0 rate/tries */
keyix, /* key cache index */
antenna, /* antenna mode */
-@@ -10364,59 +10363,16 @@ ath_get_clamped_maxtxpower(struct ath_so
+@@ -10380,59 +10379,16 @@ ath_get_clamped_maxtxpower(struct ath_so
/* XXX: this function needs some locking to avoid being called
* twice/interrupted */