From nobody Wed Apr 22 21:09:03 2026 X-Original-To: dev-commits-src-branches@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 4g1Bfl3Fttz6bLKt for ; Wed, 22 Apr 2026 21:09:03 +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 "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g1Bfl1CjGz3lw2 for ; Wed, 22 Apr 2026 21:09:03 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1776892143; 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=BWaghYvKH2IKUKGerNJU7qKD6073DAeA0aUeY4PNG00=; b=uzhCiXpWhB5bvNahKBHJE3BzEsWx9UMdSeqAqL94UBNJH+nFfY5ZDtpt6TWuJC7G6+Nngh MpPwtiRLKEnEG3a+AO1hDqGdTj7YQmQGOIPX6MWBZRMmtNCF4+aIcGDo5H1rvLx0u76QsC ZBetvL2TRd6ZDYlxqB64P7lJ2yd+myoPgqaDSrg2Ehq5wFMb5gNSDA2vaKIBkgNTIEv06K AqDzFWH8YEHXBzwgKVEQ/HDp4jNaWoGi8JlGy+83VlFcxpmLkCYD3Jc72wNykHQ/xeklxv g3OmmT42smtBKMkCbWmVStzNvjJGU3t/PtGKSOZzM36PeCCyDF8uP4ayYgs1zQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1776892143; a=rsa-sha256; cv=none; b=Uh99mYt0RpPMNoNsOvAZwIhDnOEqV15ZU3Rx5dvoEMLO8nfONI0ulPbddV4TQsok/EeLVZ 0GNpoKAJOi0ml1Zx0euuuEAC1SukoW8DSzI7mXN0u6yHzM0zzsGXHSTauAK9UGXDY7FqOg Cr5X5WhbRNznm8jW8P3ESdxB/usD/uYBDNrktHAZF7/DLc8pbZQZkIOXRYO7FyF3u66Cys coht1kzAi+qGF38tM1cukOHieGTWyGPKm45Y8skmDbfa+AYDJPWg/OxSC2y0WI7A6b6vWs Y1pnvz/OVTWO3Fe3amhPhJ5pNayLoSvIGXFydBGRsznUscjKu1LTxqy1fglbmA== 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=1776892143; 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=BWaghYvKH2IKUKGerNJU7qKD6073DAeA0aUeY4PNG00=; b=KPAXC/UGWVBLA2FJ6fFKdxM+PZhHPG4i0v8CY9DLVcby1iCW620kObRejetODpCC1L6KO9 25iqai6GQ3FOFCUKTIMG+ueHkm2UbqV7H32b4EdrPsRwHvk9+i5q0bYAIpdLhiNeD1/uqO IWHHg5MkejawCeleSxqvcKGeQ97MmSigCyRWnyMYIRTmkEvNl1+YA2yNzAy13SZQEgCxfn f9dnNPqdvrEwi1Qe1r2gbGxGmhbJ76gfq7FNj+5FEDt9y1V/p2s1QW2IPJSSrIQ02AVtqA V+GDMpY0eyJdJAR205+sW8Pe0reAvZGNoDnVB2Mi6O4/anqqdNzEMc9gXNBhhA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g1Bfl0lS6znX1 for ; Wed, 22 Apr 2026 21:09:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30a8a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 22 Apr 2026 21:09:03 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 1cd58406e47b - stable/15 - LinuxKPI: 802.11: add struct/fields and functions for v7.0 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/15 X-Git-Reftype: branch X-Git-Commit: 1cd58406e47b7cb7f70a225833efbb091f3d0a15 Auto-Submitted: auto-generated Date: Wed, 22 Apr 2026 21:09:03 +0000 Message-Id: <69e938ef.30a8a.3e2322ba@gitrepo.freebsd.org> The branch stable/15 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=1cd58406e47b7cb7f70a225833efbb091f3d0a15 commit 1cd58406e47b7cb7f70a225833efbb091f3d0a15 Author: Bjoern A. Zeeb AuthorDate: 2026-04-14 15:23:31 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-04-22 20:57:10 +0000 LinuxKPI: 802.11: add struct/fields and functions for v7.0 Add 802.11 struct fields and functions support for Linux v7.0 based wireless drivers (at least iwlwifi, rtw88, rtw89). While here cleanup some other bits. Sponsored by: The FreeBSD Foundation (cherry picked from commit 25e776a5438005db59c6d474b5d47c42d2a341b9) --- sys/compat/linuxkpi/common/include/net/cfg80211.h | 13 +++++++++---- sys/compat/linuxkpi/common/include/net/mac80211.h | 12 +++++++++++- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h index 24b57ea1f001..dedf687d6530 100644 --- a/sys/compat/linuxkpi/common/include/net/cfg80211.h +++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2020-2025 The FreeBSD Foundation + * Copyright (c) 2020-2026 The FreeBSD Foundation * Copyright (c) 2021-2022 Bjoern A. Zeeb * * This software was developed by Björn Zeeb under sponsorship from @@ -165,7 +165,9 @@ struct cfg80211_bitrate_mask { uint16_t eht_mcs[NL80211_EHT_NSS_MAX]; enum nl80211_txrate_gi gi; enum nl80211_he_gi he_gi; - uint8_t he_ltf; /* XXX enum? */ + enum nl80211_he_ltf he_ltf; + enum nl80211_eht_gi eht_gi; + uint8_t eht_ltf; /* XXX enum? */ } control[NUM_NL80211_BANDS]; }; @@ -1359,8 +1361,11 @@ wiphy_dev(struct wiphy *wiphy) return (wiphy->dev); } -#define wiphy_dereference(_w, p) \ - rcu_dereference_check(p, lockdep_is_held(&(_w)->mtx)) +#define wiphy_dereference(_w, _p) \ + rcu_dereference_protected(_p, lockdep_is_held(&(_w)->mtx)) + +#define rcu_dereference_wiphy(_w, _p) \ + rcu_dereference_check(_p, lockdep_is_held(&(_w)->mtx)) #define wiphy_lock(_w) mutex_lock(&(_w)->mtx) #define wiphy_unlock(_w) mutex_unlock(&(_w)->mtx) diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index 4943570d6c40..3c783d1f3c8a 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -603,7 +603,7 @@ enum ieee80211_rx_status_flags { RX_FLAG_AMPDU_IS_LAST = BIT(21), RX_FLAG_AMPDU_LAST_KNOWN = BIT(22), RX_FLAG_AMSDU_MORE = BIT(23), - /* = BIT(24), */ + RX_FLAG_RADIOTAP_VHT = BIT(24), RX_FLAG_ONLY_MONITOR = BIT(25), RX_FLAG_SKIP_MONITOR = BIT(26), RX_FLAG_8023 = BIT(27), @@ -1581,6 +1581,16 @@ ieee80211_iterate_stations_atomic(struct ieee80211_hw *hw, linuxkpi_ieee80211_iterate_stations_atomic(hw, iterfunc, arg); } +static inline void +ieee80211_iterate_stations_mtx(struct ieee80211_hw *hw, + void (*iterfunc)(void *, struct ieee80211_sta *), void *arg) +{ + + lockdep_assert_wiphy(hw->wiphy); + IMPROVE("we could simplify this if we had a sta list on the lhw"); + linuxkpi_ieee80211_iterate_stations_atomic(hw, iterfunc, arg); +} + static __inline struct wireless_dev * ieee80211_vif_to_wdev(struct ieee80211_vif *vif) {