ic->ic_flags &= ~IEEE80211_F_TXPOW_FIXED;
}
done:
-@@ -1588,9 +1574,22 @@ ieee80211_ioctl_giwtxpow(struct net_devi
+@@ -1588,9 +1574,23 @@ ieee80211_ioctl_giwtxpow(struct net_devi
{
struct ieee80211vap *vap = dev->priv;
struct ieee80211com *ic = vap->iv_ic;
+
+ if (ic->ic_bsschan && (ic->ic_bsschan != IEEE80211_CHAN_ANYC)) {
+ txp = min(txp, (u16) ic->ic_bsschan->ic_maxpower);
-+ } else if (ic->ic_cur_txpower > 0) {
++ }
++ if (ic->ic_cur_txpower > 0) {
+ txp = min(txp, ic->ic_cur_txpower);
+ }
+ if (ic->ic_flags & IEEE80211_F_TXPOW_FIXED) {