diff options
author | Johannes Berg <johannes.berg@intel.com> | 2016-10-20 06:52:50 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-07-05 12:40:24 (GMT) |
commit | 6130fac994818eb0fbc9dfc95056292e71fb3791 (patch) | |
tree | 10b873067aed0da057d5fc0b5bba2d38419ff1f2 /net/mac80211/vht.c | |
parent | d48cb21fd50bf6bea379ad04dc2baced20cf5275 (diff) | |
download | linux-6130fac994818eb0fbc9dfc95056292e71fb3791.tar.xz |
mac80211: recalculate min channel width on VHT opmode changes
[ Upstream commit d2941df8fbd9708035d66d889ada4d3d160170ce ]
When an associated station changes its VHT operating mode this
can/will affect the bandwidth it's using, and consequently we
must recalculate the minimum bandwidth we need to use. Failure
to do so can lead to one of two scenarios:
1) we use a too high bandwidth, this is benign
2) we use a too narrow bandwidth, causing rate control and
actual PHY configuration to be out of sync, which can in
turn cause problems/crashes
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/mac80211/vht.c')
-rw-r--r-- | net/mac80211/vht.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/mac80211/vht.c b/net/mac80211/vht.c index 6832bf6..43e45bb 100644 --- a/net/mac80211/vht.c +++ b/net/mac80211/vht.c @@ -527,8 +527,10 @@ void ieee80211_vht_handle_opmode(struct ieee80211_sub_if_data *sdata, u32 changed = __ieee80211_vht_handle_opmode(sdata, sta, opmode, band); - if (changed > 0) + if (changed > 0) { + ieee80211_recalc_min_chandef(sdata); rate_control_rate_update(local, sband, sta, changed); + } } void ieee80211_get_vht_mask_from_cap(__le16 vht_cap, |