From nobody Mon Dec 15 18:10:01 2025 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 4dVSlG1jk8z6L6Qn for ; Mon, 15 Dec 2025 18:10:02 +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 "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dVSlF5CDpz4G87 for ; Mon, 15 Dec 2025 18:10:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1765822201; 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=aYW0vsxb/y/TOr8kCIo+dcjYpJ8/JK+v4zZeyAs06EU=; b=hq6iiFloY4J6Jpv/bzlKSEmWFat1mDLLFl4lpii2zVLOCPrVIas1dti7OupR/CIIgc1bkI B10/2WCf6jbn8X7Z3vU/KvxtIw5kqFdq4/f/kiGxNzdnv1PT/x5yGVvYWojpiz2iIcJuos Mk7cbVc+lKsfiYdJ5j0N4QYgfRNJsey0LZhlzdtAMP38AstlZN9Qwqm39Q7/9xU2av9mRt 6i9mb2s3ftRNIxpWVB/TA8sgEEfxIqA7M8JOZXZvavsBdZAY+gZnrKG+UjpzqNP4N1LyBv ysbBphAxIIL0yjw1SHfCeLkYgOGAv8BywGeAnGKH5y72gIJY9hvnVROGYRedOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1765822201; 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=aYW0vsxb/y/TOr8kCIo+dcjYpJ8/JK+v4zZeyAs06EU=; b=WXoZPCyyUQkGc1HTmiofgnQKHtIC0tpkdSXdTqdSataEs6whi90YgDXGzSSy+rQJpckpWC PCsXnKlzQCYYiaHYQ+nwRu5h9ijPqRsvEHl+vbINNrfOB85OJnnSRCnR3Vr5SA9w4MhskZ x4ITQVrjoDODADN2SfBnihShO/oxMl4RjG8+Tk/dPFlST1vv6SAJmnqzwImTarMCBgURhd QjICzttdIExM2EYUv1jbjvMRh89HMqxNTUSQF+447XppKeCnVScJvIzBpFTLcQR5RsaXOt St9ghu6+elIRLwdPbfsFBZXkZeO4S+9YABBgNGp3JKXxgiqB3+t+kXvcUJlOvA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1765822201; a=rsa-sha256; cv=none; b=EcnL4QsLtX7+k6WHTNXO8Iop+poK9cd7IWp2WUmDdDS5pRZHTCVCK5aRmIbGO0k2RxKJLn x97AkbryTGPTK9RKYoUVHq7dUKAgIfXIezwjp1slIDq+dHpYcj0CMt3PhVTLhvgmKLswuY 5SqV9g5UpWsFWwVIMxPS9iNBjp38RN6f5qeVzIkcwHmp9lSAvRScvv7c2//0EQmbvE748Q I/yZj74iW8YkJbu+1TIGC8wVEeF+op82L3qgkAzFEat0mr7z0wzptu/+jOeUi3he5RDcR3 e0vJy1IeTewik7XWRbCYhBpuekg7QuIyK4DlemexbKn73aYLjqjaAuxzW2+6eQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dVSlF47LgzVj6 for ; Mon, 15 Dec 2025 18:10:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 24bf4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 15 Dec 2025 18:10:01 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Bjoern A. Zeeb Subject: git: f2ddd976ae52 - stable/15 - LinuxKPI: 802.11: rework MC/configure_filter 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: f2ddd976ae5251c7a101229236a3598f4b3c4574 Auto-Submitted: auto-generated Date: Mon, 15 Dec 2025 18:10:01 +0000 Message-Id: <69404ef9.24bf4.bcf849b@gitrepo.freebsd.org> The branch stable/15 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=f2ddd976ae5251c7a101229236a3598f4b3c4574 commit f2ddd976ae5251c7a101229236a3598f4b3c4574 Author: Bjoern A. Zeeb AuthorDate: 2025-12-14 20:07:13 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-12-15 18:09:22 +0000 LinuxKPI: 802.11: rework MC/configure_filter (*prepare_multicast)(), for the drivers we support, is iwlwifi(4)-specific. If it is not available do not let us stop from calling (*configure_filter)() at least as well. In addition to the interface setting mc_all_multi, if we have no way to prepare the multicast filter list this way, set FIF_ALLMULTI for now. This seems to help some with rtw89 but does not help me with other drivers yet to get IPv6 link-local (e.g., ff02::1%wlan0) going. This should also help in case we are scanning and are setting FIF_BCN_PRBRESP_PROMISC . We should go and review the full FIF_ list and start adding conditional support for the other options too. Sponsored by: The FreeBSD Foundation PR: 281982 (cherry picked from commit f943454bfbd98ce49516c6ede8626b5f2602edc1) --- sys/compat/linuxkpi/common/src/linux_80211.c | 10 ++-------- sys/compat/linuxkpi/common/src/linux_80211_macops.c | 3 --- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c index 1d510577f00c..02724433d89d 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211.c +++ b/sys/compat/linuxkpi/common/src/linux_80211.c @@ -1874,10 +1874,6 @@ lkpi_update_mcast_filter(struct ieee80211com *ic) lhw = ic->ic_softc; - if (lhw->ops->prepare_multicast == NULL || - lhw->ops->configure_filter == NULL) - return; - LKPI_80211_LHW_SCAN_LOCK(lhw); scanning = (lhw->scan_flags & LKPI_LHW_SCAN_RUNNING) != 0; LKPI_80211_LHW_SCAN_UNLOCK(lhw); @@ -1887,7 +1883,8 @@ lkpi_update_mcast_filter(struct ieee80211com *ic) flags = 0; if (scanning) flags |= FIF_BCN_PRBRESP_PROMISC; - if (lhw->mc_all_multi) + /* The latter condition may not be as expected but seems wise. */ + if (lhw->mc_all_multi || lhw->ops->prepare_multicast == NULL) flags |= FIF_ALLMULTI; hw = LHW_TO_HW(lhw); @@ -4246,9 +4243,6 @@ lkpi_ic_update_mcast(struct ieee80211com *ic) struct lkpi_hw *lhw; lhw = ic->ic_softc; - if (lhw->ops->prepare_multicast == NULL || - lhw->ops->configure_filter == NULL) - return; LKPI_80211_LHW_MC_LOCK(lhw); /* Cleanup anything on the current list. */ diff --git a/sys/compat/linuxkpi/common/src/linux_80211_macops.c b/sys/compat/linuxkpi/common/src/linux_80211_macops.c index d9e82a6d64ee..a85e6d0d0dd7 100644 --- a/sys/compat/linuxkpi/common/src/linux_80211_macops.c +++ b/sys/compat/linuxkpi/common/src/linux_80211_macops.c @@ -310,9 +310,6 @@ lkpi_80211_mo_configure_filter(struct ieee80211_hw *hw, unsigned int changed_fla if (lhw->ops->configure_filter == NULL) return; - if (mc_ptr == 0) - return; - LKPI_80211_TRACE_MO("hw %p changed_flags %#x total_flags %p mc_ptr %ju", hw, changed_flags, total_flags, (uintmax_t)mc_ptr); lhw->ops->configure_filter(hw, changed_flags, total_flags, mc_ptr); }