From nobody Thu Feb 27 21:04:21 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Z3kNj2c9Hz59WmB; Thu, 27 Feb 2025 21:04:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z3kNj1y5Cz43pT; Thu, 27 Feb 2025 21:04:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1740690261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AMNaQgsr4OdFuWfiIFVEZrWAVDTMiHxpKhrGJzznsW4=; b=hZNamV94P1Tm9Qi1V+3TTPnyDoPTlX5HkjGRNwXRfelkMxpJZcaWGsgbjiZFTLc07luee2 w1WZsG7xdR7u2JkEPlm08dUD5AZVZFCTUy9wRFpBYl5kxCQyS/QRuMeIZpgMK64vXAJlMR WeG76wrJ6TnAkXKqNFJ14udY0wWJCb2EQ+ERtYLtt9Dgy4SEzj/9nGsBRXkeBcq6dvKK3v EKYn4wjd6T/9HYZnpc8eA/F2pcM1ELzwp6v6NRkfxv1/VBJwG7DMuhJzL86YcfjNiEN8Ze 7COhwPC5Qrcg3s/l/Fh8DEF60COmOjkfr/oCsSMeBC5269RjRz7U+hGr3Q6FUA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1740690261; a=rsa-sha256; cv=none; b=OSmWAPNw0Hs+ldXn2M2DsXk1bY5Z5zl7srnAelTvRem54ZeEkvHaY2NAinyDD/TmrrxGIy 1fp5+Qe9IQE/14MC9Ip3xinWuz0EAS1FpsmXfmxpMZSlhN9qt/hDHOKu+Y6urzTk+zNnDa jtg160P6zBvBWparkNiecVNpPIcUGosKkAIFUDiJxoSNyyleJwrXWbBtgRih6xI5BdD8GQ x3VQg89Ky+GddI7U3jknsbsm6SBKMXXDcNEdKPk10sspYbODtYpOCFI262ZKFBsdUNohZ1 VMJmjmq35QiD/WLnj0IPhBd8qEHl2BtrI5WPfb8eCDSl0JWTI8T6/Y9wapyQfQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1740690261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AMNaQgsr4OdFuWfiIFVEZrWAVDTMiHxpKhrGJzznsW4=; b=cm0qLrBZRmxllIAd2NmGwALdqT/moiShpjs8LXiBFMEvzm2NnkfYpt+NDSktNp3TmKJDwG cUkFXkuj0SSDPAH/5/0ABwdRdJSLoq5JJ83Kb1vb5QsntFnGuIudpFYI0m8HS8h3zOz8X/ Tsg9E7c9Bsz4LIq3tAhAGMc9ZglM8UG2T6x4vBZ0JSaTK34ULvWzXr9lERZFLOxQ8ii0qs Bx9uNBAa3o0rG8toskJUL6gy0EtD0wU2moUcI7uGX0up7NPu3CCvSvm6wBiUgDiytVzjBN v9O7TKOVb7eEdxZIlZWeirw1gkPcTSwOHMtWPXM3Pit0/o+TkY41klv0nmGGUg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z3kNj1YKqz10GD; Thu, 27 Feb 2025 21:04:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51RL4Lgq085475; Thu, 27 Feb 2025 21:04:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51RL4Lff085472; Thu, 27 Feb 2025 21:04:21 GMT (envelope-from git) Date: Thu, 27 Feb 2025 21:04:21 GMT Message-Id: <202502272104.51RL4Lff085472@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 9a39e5f46bed - stable/14 - LinuxKPI: 802.11: ensure to select the correct channel width List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 9a39e5f46bedab6aa3be65c0fb2e1ebbf34df230 Auto-Submitted: auto-generated The branch stable/14 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=9a39e5f46bedab6aa3be65c0fb2e1ebbf34df230 commit 9a39e5f46bedab6aa3be65c0fb2e1ebbf34df230 Author: Bjoern A. Zeeb AuthorDate: 2025-02-25 01:57:46 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-02-27 21:03:21 +0000 LinuxKPI: 802.11: ensure to select the correct channel width If HT is enabled but not using CHW=40 set CHW=20 to make sure we do not get stuck on any other value. If VHT and the VHT Operation element Channel Width field is 0 (use 20/40) do not update the bandwidth but stick with what HT selected. This is better than disabling VHT alltogether for 20/40 and allows us to work on VHT20 and VHT40 APs it seems. We will have to do more work to can align with the chanctx or deal with Operating Mode Notification Action frames in LinuxKPI or net80211. Sponsored by: The FreeBSD Foundation (cherry picked from commit 3e022a91c91cf1b967d7de7b6fe81c6632fe1207) --- sys/compat/linuxkpi/common/src/linux_80211.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index b7d3d7a298fc..5db1512394cc 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -401,6 +401,8 @@ lkpi_sta_sync_ht_from_ni(struct ieee80211_sta *sta, struct ieee80211_node *ni) if ((sta->deflink.ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40) != 0) sta->deflink.bandwidth = IEEE80211_STA_RX_BW_40; + else + sta->deflink.bandwidth = IEEE80211_STA_RX_BW_20; /* * 802.11n-2009 20.6 Parameters for HT MCSs gives the mandatory/ @@ -450,6 +452,13 @@ lkpi_sta_sync_vht_from_ni(struct ieee80211_sta *sta, struct ieee80211_node *ni) sta->deflink.vht_cap.cap = ni->ni_vhtcap; sta->deflink.vht_cap.vht_mcs = ni->ni_vht_mcsinfo; + /* + * If VHT20/40 are selected do not update the bandwidth + * from HT but stya on VHT. + */ + if (ni->ni_vht_chanwidth == IEEE80211_VHT_CHANWIDTH_USE_HT) + goto skip_bw; + width = (sta->deflink.vht_cap.cap & IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_MASK); switch (width) { #if 0 @@ -467,7 +476,7 @@ lkpi_sta_sync_vht_from_ni(struct ieee80211_sta *sta, struct ieee80211_node *ni) #endif sta->deflink.bandwidth = IEEE80211_STA_RX_BW_80; } - +skip_bw: rx_nss = 0; rx_mcs_map = sta->deflink.vht_cap.vht_mcs.rx_mcs_map;