From nobody Sat Apr 18 12:00:16 2026 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 4fyVgN41y6z6ZbS0 for ; Sat, 18 Apr 2026 12:00:16 +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 4fyVgN2Y88z4GyP for ; Sat, 18 Apr 2026 12:00:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1776513616; 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=RVwiPWLEQQBrHWJU8GcsMnAzlhhxpxZWgnMizpfHlQw=; b=LVRAkPfyHKM8KeZJQy6gx2sCSXRPBnmsUkaq6eGCxuJ+3w7/GZMFkID2cyavZtMYRy9zsy lHHPDoCJidZZWD/PqBLI42mha8K00xFoaRxuRnF8M/TDHXKcAaceNFN2LVwxbNg43aYKHz xC6q4hLRKqw5yVv4yOoQAg30n7GU00ZYHd0IGRP4WtkoLGXJ85RjxM8DJOyRBAF02Xi7Uk TxurDofqAUp9Cz79nyDkkSe3SXJ9UGZqMM2jPCkQ6a8kzK5TCY20TkDpfijN/vslfKcCvp VH5rnkYlunsIJf0NSJ+QhEOZYKtDK04Qz9VTRNK9DOJImm/rS3VHgQVW64jF/Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1776513616; a=rsa-sha256; cv=none; b=FwqHITLCzN01YoCYSWKw2UZy0vnRlW4uU4iz9FtrF64tFH8LNEvxe6PJoGRNnCVAy3Txfa IMnSOW1va7wGfLWmROGW/WUqIi0/HGD8wKE2AEevyHAwXdUSdKDrGob9pCzBz3BJKQCby+ FbWP1rkVw8DI3C8+rdhzbKPqARD+YLvM9bOYejlTsIuQJ5vq9m3ujoC4W54uovd303Ps1l oMjowKLiaY7SQbjjxJD9Ax9xE6/R4mi8zJrt5eyew3nDx+6xV6rDDmnRDtBR1SvvTT9pJ0 bueedDLiPeweSOCBlebbTbNjXzSYbylMn8sXWOlme93GBLBtMq+eCJJj3zHltQ== 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=1776513616; 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=RVwiPWLEQQBrHWJU8GcsMnAzlhhxpxZWgnMizpfHlQw=; b=KxOVBeho5UsJf9IyG5BBF2hwgAcO8572V0fkeWJGrEJfla6vW8T2D2sDgF4Iiog1X1WZKp oK6yN2zPeWT+IG3zk64fMy4Mf2beTpfCLg6O9cOgLG7w9CK1SHbOeu2XHnlzeszCHSQTpV 9I2r+ky88jlXkJvGWE+/IBVfw9raXBqnnbPxxa1Iw0xilGbDg76gO/2V/CyfLBySaMSttn udmAgczitLUrw3kLaPK68bGnShjcCvbfolAgSTkua7G6kfqxliWKvGLhZvrUvxgzVQAQJU 3e+FKuWdjFn1wp0hNhwhw5vOLR9cWzU7dkO2L6VQIwwIZLIMvw8tx1n8LY6ebg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fyVgN1tqdzfQg for ; Sat, 18 Apr 2026 12:00:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3bb2f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 18 Apr 2026 12:00:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bjoern A. Zeeb Subject: git: 25e776a54380 - main - LinuxKPI: 802.11: add struct/fields and functions for v7.0 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/main X-Git-Reftype: branch X-Git-Commit: 25e776a5438005db59c6d474b5d47c42d2a341b9 Auto-Submitted: auto-generated Date: Sat, 18 Apr 2026 12:00:16 +0000 Message-Id: <69e37250.3bb2f.26d28038@gitrepo.freebsd.org> The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=25e776a5438005db59c6d474b5d47c42d2a341b9 commit 25e776a5438005db59c6d474b5d47c42d2a341b9 Author: Bjoern A. Zeeb AuthorDate: 2026-04-14 15:23:31 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-04-18 12:00:00 +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 MFC after: 3 days --- 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) {