Re: [PATCH] Skip ieee80211_verify_sta_ht_mcs_support check in non-strict mode

From: Johannes Berg

Date: Wed Apr 15 2026 - 05:37:45 EST


On Tue, 2026-04-14 at 05:02 +0000, Rio Liu wrote:
> 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 <rio@xxxxxx>
> ---

Should probably have a Fixes tag for this?

> Link: https://linuxcommunity.io/t/intel-ax210-speeds-capped-at-20-mbps-on-multiple-distros/6708/28
> Link: https://bbs.archlinux.org/viewtopic.php?id=312952
> Link: https://bbs.archlinux.org/viewtopic.php?id=313033
> 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_firmware_update_to_wifi_gateway_breaking/
> Link: https://www.reddit.com/r/Comcast_Xfinity/comments/1sg9r6z/slow_internet_for_linux_computers/

> + /*
> + * 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;

And generally we prefer to have some indication in the comment which APs
were affected (though I see the VHT one also didn't have that), such as
in ieee80211_verify_peer_he_mcs_support().

johannes