From nobody Wed Apr 22 21:08:48 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 4g1BfT47Qgz6bL68 for ; Wed, 22 Apr 2026 21:08:49 +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 4g1BfS60lYz3lWQ for ; Wed, 22 Apr 2026 21:08:48 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1776892128; 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=HCZXhXH7TermfBxBwISXPrIQEogYtGJ2s0XFmHuMPfY=; b=hJy+TFmIC2DUISQUAKJBf2K/YPYh0uj0EI0vxIi5kjEtrPhJxoAgEEPj0JNMiXIvGekt4s QMDkwgNm/SuI73izk+L6Z+sJxNcK67f30on9WNojOBe06EL9VLN/ZQ0/KzkeUv3RDEC5MC +YD5rwmvHRBzvAtE+D2ULa7F/bS5XWhyfihMP/x8J3vr8ZL+5qoIyssXC1V1H3vevL1Fwm fhfMPe8LPqD8zeje2Zbaaz49rVY/HRn8fXVVRh31EXYMENvorgBHgf+Y2j94TXqAkodTjb R5EkHW3gKMcLl7m17hI29nYXQg5PFcuy+9AI4PpEZvs89802euQKdxEoZiQL+w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1776892128; a=rsa-sha256; cv=none; b=S91PB8qqi565FzphqCqTBgVOMDKqmFGVS0l5e6YEU8C2sNyl8xqF+wrs0XftonFLYNilzC H6ZVR6mP/h5mPORi5jv4ZXE0kYKmx2APv9P1vR/tBoJIhUrZauUqMsbzm9bp7Sg32mS5/U w1r/SJA8/EARmg779k1zXnl7rMwqUdDL6ezRLDfKa9Hd6f4jaUgFb19M5vkMOJzwoE9hkX e1JmEFhj0Jo64gFmhtiwDSqtiUW2HGnRWsktUhr9nHNAYDABEe6vwFDIcpAa3NxipXfWPU UuN4jUUYsZNRnUgUAJE6nyo/SGvgmj0KZX87ta92chRO6glkpF6GBm0CrOdC8Q== 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=1776892128; 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=HCZXhXH7TermfBxBwISXPrIQEogYtGJ2s0XFmHuMPfY=; b=uk+YaFipMy5bGryodpqvWx64zsLCd+Pejb7oNU+3eWmxmOMc6rIrUheB8o6wNZ9G3Nwj49 RbkAYMrUjrr2u+5IfZmzaE4/KvNWa0q+vh1LRFLMhqSOo/snEbMafHu/uYsrQVDW2V9o8D aS/quQQNefsBJCrDkiVKwAnN5PT7QSOS3FdFr7cGP46dSGpN5fU0LGwa0dTql4hlKhTYkh 6HsTSNoRSbpZa+AI7rX5efOISHVprUH9t76XCggpeBY/ERUekqEo+vK7He0BEy/H6/b03q rnGOsbokegMhqEkUqOovvUO6/YwkCFPnuDCFfgmnUR06v0la2JkEvlxSOhFlvQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g1BfS5cM0zmyd for ; Wed, 22 Apr 2026 21:08:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 26a2e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 22 Apr 2026 21:08:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: c282b53edbd6 - stable/15 - LinuxKPI: 802.11: start filling vif->cfg.ap_addr 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/15 X-Git-Reftype: branch X-Git-Commit: c282b53edbd692e8c7df31419b5f65c318d50274 Auto-Submitted: auto-generated Date: Wed, 22 Apr 2026 21:08:48 +0000 Message-Id: <69e938e0.26a2e.c1c040c@gitrepo.freebsd.org> The branch stable/15 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=c282b53edbd692e8c7df31419b5f65c318d50274 commit c282b53edbd692e8c7df31419b5f65c318d50274 Author: Bjoern A. Zeeb AuthorDate: 2026-04-16 23:42:03 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-04-22 20:57:06 +0000 LinuxKPI: 802.11: start filling vif->cfg.ap_addr vif->cfg.ap_addr is used by various drivers now and is the BSSID for non-MLO or the AP addr for MLO configurations. If this is unset rtw89 gets cranky and certain packets are likely not going out correctly (also for iwlwifi). Sponsored by: The FreeBSD Foundation (cherry picked from commit dc886a4428712aa4fcdcf8cd9e850b048c923bbf) --- sys/compat/linuxkpi/common/src/linux_80211.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index e1a3daf98cb2..89395f2f98b8 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -2617,6 +2617,7 @@ lkpi_sta_scan_to_auth(struct ieee80211vap *vap, enum ieee80211_state nstate, int /* Set bss info (bss_info_changed). */ bss_changed = 0; + IEEE80211_ADDR_COPY(vif->cfg.ap_addr, ni->ni_bssid); vif->bss_conf.bssid = ni->ni_bssid; bss_changed |= BSS_CHANGED_BSSID; vif->bss_conf.txpower = ni->ni_txpower; @@ -3467,6 +3468,7 @@ lkpi_sta_auth_to_scan(struct ieee80211vap *vap, enum ieee80211_state nstate, int bss_changed |= BSS_CHANGED_QOS; vif->cfg.ssid_len = 0; memset(vif->cfg.ssid, '\0', sizeof(vif->cfg.ssid)); + IEEE80211_ADDR_COPY(vif->cfg.ap_addr, ieee80211broadcastaddr); bss_changed |= BSS_CHANGED_BSSID; vif->bss_conf.use_short_preamble = false; /* XXX BSS_CHANGED_???? */ @@ -4072,6 +4074,7 @@ lkpi_ic_vap_create(struct ieee80211com *ic, const char name[IFNAMSIZ], vif->bss_conf.qos = false; vif->bss_conf.use_cts_prot = false; /* vap->iv_protmode */ vif->bss_conf.ht_operation_mode = IEEE80211_HT_OP_MODE_PROTECTION_NONE; + IEEE80211_ADDR_COPY(vif->cfg.ap_addr, ieee80211broadcastaddr); vif->cfg.aid = 0; vif->cfg.assoc = false; vif->cfg.idle = true; @@ -7913,13 +7916,13 @@ no_trace_beacons: struct ieee80211_vif *vif; struct ieee80211_frame *wh; - wh = mtod(m, struct ieee80211_frame *); - if (!IEEE80211_ADDR_EQ(wh->i_addr2, ni->ni_bssid)) - goto skip_device_ts; - lvif = VAP_TO_LVIF(vap); vif = LVIF_TO_VIF(lvif); + wh = mtod(m, struct ieee80211_frame *); + if (!IEEE80211_ADDR_EQ(wh->i_addr2, vif->cfg.ap_addr)) + goto skip_device_ts; + IMPROVE("TIMING_BEACON_ONLY?"); /* mac80211 specific (not net80211) so keep it here. */ vif->bss_conf.sync_device_ts = rx_status->device_timestamp; @@ -8757,8 +8760,6 @@ struct sk_buff * linuxkpi_ieee80211_nullfunc_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif, int linkid, bool qos) { - struct lkpi_vif *lvif; - struct ieee80211vap *vap; struct sk_buff *skb; struct ieee80211_frame *nullf; @@ -8770,17 +8771,15 @@ linuxkpi_ieee80211_nullfunc_get(struct ieee80211_hw *hw, skb_reserve(skb, hw->extra_tx_headroom); - lvif = VIF_TO_LVIF(vif); - vap = LVIF_TO_VAP(lvif); - nullf = skb_put_zero(skb, sizeof(*nullf)); nullf->i_fc[0] = IEEE80211_FC0_VERSION_0; nullf->i_fc[0] |= IEEE80211_FC0_SUBTYPE_NODATA | IEEE80211_FC0_TYPE_DATA; nullf->i_fc[1] = IEEE80211_FC1_DIR_TODS; - IEEE80211_ADDR_COPY(nullf->i_addr1, vap->iv_bss->ni_bssid); + /* XXX-BZ if link is given, this is different. */ + IEEE80211_ADDR_COPY(nullf->i_addr1, vif->cfg.ap_addr); IEEE80211_ADDR_COPY(nullf->i_addr2, vif->addr); - IEEE80211_ADDR_COPY(nullf->i_addr3, vap->iv_bss->ni_macaddr); + IEEE80211_ADDR_COPY(nullf->i_addr3, vif->cfg.ap_addr); return (skb); }