diff options
author | Johannes Berg <johannes.berg@intel.com> | 2016-10-20 08:52:50 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-07-05 14:40:24 +0200 |
commit | 6130fac994818eb0fbc9dfc95056292e71fb3791 (patch) | |
tree | 10b873067aed0da057d5fc0b5bba2d38419ff1f2 /net/mac80211/rx.c | |
parent | d48cb21fd50bf6bea379ad04dc2baced20cf5275 (diff) |
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/rx.c')
-rw-r--r-- | net/mac80211/rx.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c index c45a0fcfb3e7..439e597fd374 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c @@ -2923,17 +2923,10 @@ ieee80211_rx_h_action(struct ieee80211_rx_data *rx) switch (mgmt->u.action.u.vht_opmode_notif.action_code) { case WLAN_VHT_ACTION_OPMODE_NOTIF: { - u8 opmode; - /* verify opmode is present */ if (len < IEEE80211_MIN_ACTION_SIZE + 2) goto invalid; - - opmode = mgmt->u.action.u.vht_opmode_notif.operating_mode; - - ieee80211_vht_handle_opmode(rx->sdata, rx->sta, - opmode, status->band); - goto handled; + goto queue; } case WLAN_VHT_ACTION_GROUPID_MGMT: { if (len < IEEE80211_MIN_ACTION_SIZE + 25) |