diff options
author | Arik Nemtsov <arik@wizery.com> | 2016-03-02 21:28:33 (GMT) |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2016-04-05 08:51:08 (GMT) |
commit | aa507a7bc5ab7513b83fc37ed040b5254737a518 (patch) | |
tree | 2563b92e174b47c18bfd73729edadb96f8b40dd9 | |
parent | 59021c675995281d453eee45b3e2e1e3edbc0ec2 (diff) | |
download | linux-aa507a7bc5ab7513b83fc37ed040b5254737a518.tar.xz |
mac80211: recalc min_def chanctx even when chandef is identical
The min_def chanctx is affected not only by the current chandef, but
sometimes also by other stations on the vif. There's a valid scenario
where a TDLS peer can widen its BW, thereby causing the min_def
to increase.
Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r-- | net/mac80211/chan.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/mac80211/chan.c b/net/mac80211/chan.c index 2839811..74142d0 100644 --- a/net/mac80211/chan.c +++ b/net/mac80211/chan.c @@ -343,8 +343,10 @@ static void ieee80211_change_chanctx(struct ieee80211_local *local, struct ieee80211_chanctx *ctx, const struct cfg80211_chan_def *chandef) { - if (cfg80211_chandef_identical(&ctx->conf.def, chandef)) + if (cfg80211_chandef_identical(&ctx->conf.def, chandef)) { + ieee80211_recalc_chanctx_min_def(local, ctx); return; + } WARN_ON(!cfg80211_chandef_compatible(&ctx->conf.def, chandef)); |