Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6741e7f0 authored by Felix Fietkau's avatar Felix Fietkau Committed by John W. Linville
Browse files

mac80211: fix logic error in ibss channel type check



The broken check leads to rate control attempting to use HT40 while
the driver is configured for HT20. This leads to interesting hardware
issues.

HT40 can only be used if the channel type is either HT40- or HT40+
and if the channel type of the cell matches the local type.

Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
Cc: stable@vger.kernel.org
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 15fae50a
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -457,8 +457,8 @@ static void ieee80211_rx_bss_info(struct ieee80211_sub_if_data *sdata,
			 * fall back to HT20 if we don't use or use
			 * the other extension channel
			 */
			if ((channel_type == NL80211_CHAN_HT40MINUS ||
			     channel_type == NL80211_CHAN_HT40PLUS) &&
			if (!(channel_type == NL80211_CHAN_HT40MINUS ||
			      channel_type == NL80211_CHAN_HT40PLUS) ||
			    channel_type != sdata->u.ibss.channel_type)
				sta_ht_cap_new.cap &=
					~IEEE80211_HT_CAP_SUP_WIDTH_20_40;