Date: Mon, 08 Dec 2025 15:44:11 +0000 From: Bjoern A. Zeeb <bz@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: git: 49977df63c40 - stable/15 - LinuxKPI: 802.11: implement mtx support for ieee80211_iterate_interfaces Message-ID: <6936f24b.399ee.6a702bd2@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch stable/15 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=49977df63c406940b77a35b2373ea4d193abf1e9 commit 49977df63c406940b77a35b2373ea4d193abf1e9 Author: Bjoern A. Zeeb <bz@FreeBSD.org> AuthorDate: 2025-11-19 02:18:43 +0000 Commit: Bjoern A. Zeeb <bz@FreeBSD.org> CommitDate: 2025-12-08 15:43:51 +0000 LinuxKPI: 802.11: implement mtx support for ieee80211_iterate_interfaces Implement the lockdep_assert_wiphy call for ieee80211_iterate_active_interfaces_mtx() to avoid a warning when used and to make sure callers comply with assumptions. Leave an "IMPROVE" note as we can likely switch another of the multiple callers to RCU. Sponsored by: The FreeBSD Foundation (cherry picked from commit 90b6a9ac0c1f4333f87f4b172482f40979324d7c) --- sys/compat/linuxkpi/common/src/linux_80211.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index f025f191a3bd..c68ed4491c3b 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -6906,17 +6906,23 @@ linuxkpi_ieee80211_iterate_interfaces(struct ieee80211_hw *hw, if (flags & ~(IEEE80211_IFACE_ITER_NORMAL| IEEE80211_IFACE_ITER_RESUME_ALL| IEEE80211_IFACE_SKIP_SDATA_NOT_IN_DRIVER| - IEEE80211_IFACE_ITER_ACTIVE|IEEE80211_IFACE_ITER__ATOMIC)) { + IEEE80211_IFACE_ITER_ACTIVE|IEEE80211_IFACE_ITER__ATOMIC| + IEEE80211_IFACE_ITER__MTX)) { ic_printf(lhw->ic, "XXX TODO %s flags(%#x) not yet supported.\n", __func__, flags); } + if ((flags & IEEE80211_IFACE_ITER__MTX) != 0) + lockdep_assert_wiphy(hw->wiphy); + active = (flags & IEEE80211_IFACE_ITER_ACTIVE) != 0; atomic = (flags & IEEE80211_IFACE_ITER__ATOMIC) != 0; nin_drv = (flags & IEEE80211_IFACE_SKIP_SDATA_NOT_IN_DRIVER) != 0; - if (atomic) + if (atomic) { + IMPROVE("LKPI_80211_LHW_LVIF_LOCK atomic assume to be rcu?"); LKPI_80211_LHW_LVIF_LOCK(lhw); + } TAILQ_FOREACH(lvif, &lhw->lvif_head, lvif_entry) { struct ieee80211vap *vap;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6936f24b.399ee.6a702bd2>
