From nobody Tue Apr 14 14:00:51 2026 Received: from mail-244117.protonmail.ch (mail-244117.protonmail.ch [109.224.244.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 09A1926C385 for ; Tue, 14 Apr 2026 05:02:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=109.224.244.117 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776142965; cv=none; b=WVhBQfc0R5CQ1mCnpKMT1hCSi3EbgFo+gfZDJtU6p0FGKmkojh6b2akfp9dKfGIIrk17EzdD/Gpugi2vL4mDIfoKxKDdF4PRkxsZ1Cbd7NNr2G5gl9d6Ye/LOamcOWgPmeYUEirsNpJf+w5DILsQIz2Vny7FA9smGY/ga0dk/Bw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776142965; c=relaxed/simple; bh=OCWLcsNHwCEk6LHbC54ErXgKWLnSLLirH7MrRfWtx/o=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=IM4B24ElvEUv7kJJu8xO5xeBAnutLKdtVqSsfglwzW2dudzCxLH1ZV4Re/8HQEKahAYvjFxo1RDoQeq/vRv5ktkrVgVJDk4X+UFhStwSmUlepRDLBdPGU7atBVH1uT40H+IGWcZgbnb0pR26qzBb+S/d0aMo1sI44TYP3P50FXw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=r26.me; spf=pass smtp.mailfrom=r26.me; dkim=pass (2048-bit key) header.d=r26.me header.i=@r26.me header.b=pciELZ1d; arc=none smtp.client-ip=109.224.244.117 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=r26.me Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=r26.me Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=r26.me header.i=@r26.me header.b="pciELZ1d" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=r26.me; s=protonmail; t=1776142951; x=1776402151; bh=OCWLcsNHwCEk6LHbC54ErXgKWLnSLLirH7MrRfWtx/o=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=pciELZ1d9XEsOXKnyAdFvX4fin0TH6YjSqA3xZktddGHRvoT/teGA1YvIVcRlR8hp x6wwj6vezwRisTwGfL+jdraXMty0Eb4iwhyrJoSyfYsiqSDoVEk+5FjWw0b4XcE3ri YnUJDLKrCh5QFGRpdWqqFcioRkcv2RaqpSjKBExFw5ZRIDZ39we6YHUOdygC6HJPfT tmfncuycxahorSmqTJNq4+pHh0FjgWtryIh0mzpAs4Yh5AsRSKM0bd4Zcfm4YlT9Wi 7PaxxeBw8bkW9DCX/PgJ7fpCW4OPC0yF6dBQiCqdyNk2Ifx2eu1Pt0FCp99IOZd/a4 KLfDV1GJi5ZrQ== Date: Tue, 14 Apr 2026 05:02:26 +0000 To: "linux-kernel@vger.kernel.org" From: Rio Liu Cc: "linux-wireless@vger.kernel.org" , "johannes@sipsolutions.net" , "benjamin.berg@intel.com" Subject: [PATCH] Skip ieee80211_verify_sta_ht_mcs_support check in non-strict mode Message-ID: In-Reply-To: <7h5kwW8K-FIgMb5P9VQ1BwuECi1JtpQP3RNBytb3F0k2g6DtBAnz65o1smDvWOr2ag9Kla-YpMSGyN1NsU7yYslLU-K9NCyTAxjyx-PEEF8=@r26.me> References: <7h5kwW8K-FIgMb5P9VQ1BwuECi1JtpQP3RNBytb3F0k2g6DtBAnz65o1smDvWOr2ag9Kla-YpMSGyN1NsU7yYslLU-K9NCyTAxjyx-PEEF8=@r26.me> Feedback-ID: 77429777:user:proton X-Pm-Message-ID: 3024d96ba447ae0cae267b55b94a25e2c14dfc74 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Some AP advertise 3 or 4 spatial stream MCS indexes in their basic HT-MCS set. On cards with lower (2x2) spatial streams, the check would fail, and we'd be stuck with no HT when it in fact work fine with 2-stream rate. This change makes it so the check is only performed in strict mode. Signed-off-by: Rio Liu --- My previous mail is showing up as empty on LKML for some reason. Apologies for that, trying again. There has been some reports that WIFI speed is capped on some routers: Link: https://linuxcommunity.io/t/intel-ax210-speeds-capped-at-20-mbps-on-m= ultiple-distros/6708/28 Link: https://bbs.archlinux.org/viewtopic.php?id=3D312952 Link: https://bbs.archlinux.org/viewtopic.php?id=3D313033 Link: https://www.reddit.com/r/Rogers/comments/1s89j9f/xb8_5ghz_dfs_channel= _broadcasting_at_54_mbps/ Link: https://www.reddit.com/r/Comcast_Xfinity/comments/1s7fc3f/recent_firm= ware_update_to_wifi_gateway_breaking/ Link: https://www.reddit.com/r/Comcast_Xfinity/comments/1sg9r6z/slow_intern= et_for_linux_computers/ Apparently some APs advertises higher MIMO streams than the device supports. In that case, HT-MCS check would fail and we fall back to 20MHz channel. A patch exists here that bypasses the check completely: https://github.com/WoodyWoodster/mac80211-mcs-patch, and have been reported to get 80MHz channel back. This patch adds a check on STRICT flag before verifying HT MCS set from the AP, similar to how it is done in ieee80211_verify_sta_vht_mcs_support. --- net/mac80211/mlme.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index 810bea1aacc5..0e33733ac634 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c @@ -419,6 +419,15 @@ ieee80211_verify_sta_ht_mcs_support(struct ieee80211_s= ub_if_data *sdata, memcpy(&sta_ht_cap, &sband->ht_cap, sizeof(sta_ht_cap)); ieee80211_apply_htcap_overrides(sdata, &sta_ht_cap); + /* + * Some AP advertise 3 or 4 spatial stream MCS indexes in their basic HT-= MCS + * set. On cards with lower (2x2) spatial streams, the check would fail, = and + * we'd be stuck with no HT when it in fact work fine with 2-stream rate.= So + * check it only in strict mode. + */ + if (!ieee80211_hw_check(&sdata->local->hw, STRICT)) + return true; + /* * P802.11REVme/D7.0 - 6.5.4.2.4 * ... -- base-commit: d65b175cfac64ee65506eea7fa573d291a9694ca