diff options
author | Johannes Berg <johannes.berg@intel.com> | 2012-10-24 10:59:25 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-10-30 09:11:34 +0100 |
commit | 1ea6f9c0d48b11b6ec3ec4b5579ec74fc3951cf8 (patch) | |
tree | 5a589d0bccfcac6ba0952942a04482b99752ddcc /net/mac80211/chan.c | |
parent | c8442118ad9cd05cfe3b993f058e70ab25b1009a (diff) |
mac80211: handle TX power per virtual interface
Even before channel contexts/multi-channel, having a
single global TX power limit was already problematic,
in particular if two managed interfaces connected to
two APs with different power constraints. The channel
context introduction completely broke this though and
in fact I had disabled TX power configuration there
for drivers using channel contexts.
Change everything to track TX power per interface so
that different user settings and different channel
maxima are treated correctly. Also continue tracking
the global TX power though for compatibility with
applications that attempt to configure the wiphy's
TX power globally.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/chan.c')
-rw-r--r-- | net/mac80211/chan.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/mac80211/chan.c b/net/mac80211/chan.c index f84b86028a9..a2b06d40aeb 100644 --- a/net/mac80211/chan.c +++ b/net/mac80211/chan.c @@ -173,6 +173,8 @@ static int ieee80211_assign_vif_chanctx(struct ieee80211_sub_if_data *sdata, rcu_assign_pointer(sdata->vif.chanctx_conf, &ctx->conf); ctx->refcount++; + ieee80211_recalc_txpower(sdata); + return 0; } |