From nobody Sat Apr 18 01:12: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 4fyDJK3M2Dz6ZT7h for ; Sat, 18 Apr 2026 01:12: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 4fyDJK0cNdz3ncJ for ; Sat, 18 Apr 2026 01:12:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1776474769; 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=L7huqJ8di0dN+CeDSl+gl0Ctfn+eeOisO2Sdy3hcWjs=; b=PiowJHgZ+ZEj/zmYkkIELcXd/iPWcRaAvI6INupl+xNH8Le+5lv7fVMBAkpnGONqNBcJbk F7B2exDaPpkesevZ+3n+JCkrkBaoN65QA7AtKfV2dBucLLQMeyBj1topbECi2eSRiVFYyG SI7W7DNV6rzjqhEwVczURlwZRziJsovYeIrcfKIsBMD/SWUetn2Y67a4IhXa7bh06DLcUy TOVIWmbAljyygmSZU69AUEFOyyEEvrUWZV2VhldeRXJ5/jSs1NPEtiVOrWy17Uhnj4xHoD g8bc6EP/a7ZyqJ5/Ek1i4p2si6nKO2VSkU8yjn4Za75Iyq2awURIHejfTq3WQg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1776474769; a=rsa-sha256; cv=none; b=mf0XpQdfBKcEypne8VIeH2tpvQPi5CGdcYLP3moBTrsvynM0GW8QILcjPhlcZ3W5RLaGHQ xRdvK/HbWZlkymyPcg8+dxnorrEVjrRvGPJPEWvUcHH8KFsqpAI8vl0TLGrt4FucQVm9Cx LjaSie1L/kaJE1g/Nf25kfGyGQBvctsGPhE0OKkX3u/ksfJm72KxrnoTOPAQtUJR04avlm /IqrBbRhrniSHcFAiliGZ1kIIFgFl9ymNSHhev+HnTkrUgbnw9x1bEn/oh1O9GXQrS5uVh 3O+gBVAxo6zDbdDLFV9zf6F2qWFZ3tEMVl1pnZdu+uptuULddn5gUSKAuc+xaQ== 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=1776474769; 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=L7huqJ8di0dN+CeDSl+gl0Ctfn+eeOisO2Sdy3hcWjs=; b=WE+5P+XEKVTsrioOudQ1cU8TeF78nefdhmmtua+Bt0Aq59q4jxN6xpNjQFXXUIG45Xgb8v RSLHTDhWVWGWXVx72fsCYHnFJCPUATVGjjeMafttqM7xYSUZugbygjpD30vsg+1Hj1L8GQ ib9q/PxLIw2Ay+PsUoqC13ijMLFPaq1v1CkgexXVhrkdlFZptxv9Vf3A4bkrlEmGAISo3/ 0mE8sxy06blBRGSrNalKdixYjNGj38tE986Zy+Zg2V6/vh1qMziZHvaStWIiVzZwh891sZ AQ/N1KFT0XnomfvYNQgmk9qumQugjJupF9gfF9VU80RU6BP5X+vw88QE/6xVyA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fyDJJ75Ltz2np for ; Sat, 18 Apr 2026 01:12:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 472f8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 18 Apr 2026 01:12:48 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bjoern A. Zeeb Subject: git: dc886a442871 - main - 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/main X-Git-Reftype: branch X-Git-Commit: dc886a4428712aa4fcdcf8cd9e850b048c923bbf Auto-Submitted: auto-generated Date: Sat, 18 Apr 2026 01:12:48 +0000 Message-Id: <69e2da90.472f8.17a79c0f@gitrepo.freebsd.org> The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=dc886a4428712aa4fcdcf8cd9e850b048c923bbf commit dc886a4428712aa4fcdcf8cd9e850b048c923bbf Author: Bjoern A. Zeeb AuthorDate: 2026-04-16 23:42:03 +0000 Commit: Bjoern A. Zeeb CommitDate: 2026-04-18 01:12:10 +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 MFC after: 3 days --- 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); }