From nobody Sun Dec 14 20:13:24 2025 X-Original-To: dev-commits-src-main@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 4dTvX50gd2z6KmpW for ; Sun, 14 Dec 2025 20:13:25 +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 4dTvX46yRFz3MjX for ; Sun, 14 Dec 2025 20:13:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1765743205; 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=3fGyzlTUM/EdNG7YMf7b+N0/CNyt+6alVMi4EKc8Y5s=; b=VCFXqei2K6BTjZXaKaLDduNOBP4QbwgY3IHNrjLzaJo+PZA2shAxgGqM3Hw7wue+3t0aop IL2u5BVWuFz2mxe3WhPWiu9NsoXQAAujfFmxPPqj84qu4LgYYTCHqo6akYtJQQO2V9nW/A W+JtLD69X5lPYHgG/Hicmhj7IhHHKodNdLseNjURAT6NiOR7vyLPWDQP1V05GKlURaSlXt iWU8ZNUjXvyVuc8cGKiEFIgIpOMU23g9DFd6E+04rSUuvJS48MXPz6ajAMRuwmbXoQQ0zC dNqZQGHh7oGPwzajYxmRavPcvu/JbsGr35M7wRQZRBPSTrCGxcUWrHoca/uY6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1765743205; 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=3fGyzlTUM/EdNG7YMf7b+N0/CNyt+6alVMi4EKc8Y5s=; b=RIeTHyQIheSEFDZIWJBIFPN+waHWqKKMtDqLEHzZRVeNNOQ9lWZDGyq0qeTQS1uUnNPzb5 xJbU+RUDRcR2XQJkpLJ1NfeV3GpC/Xulog03ePSQGDGC86z0saPLuTogpSk05+kdgE67DA TA9bprQ5FUTIB73LpXU58EhkMUoCkyTkg9LMOQ5Ld7YcRM6RiMGzwvpLQ++0lugTHngp5w Amy6Cd/yCsLI4ZSgu87HtOUfgCpPAeBHT135RApk5qC0zbqZx+dyHrskE3kbKnWSvRFPRH 44NMV3EGei2RNFM6D7e0Z/X8UXTxedibmfo+8E0hHXImOSAl2SSsIpk2VPv5gw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1765743205; a=rsa-sha256; cv=none; b=nnDru61/hNtG2/H0wwBWNRqLu1QmP1HIbuluaflUrxFC218Almeq5Wqo/b6SaJb3x9Dvq9 1aZc2Ook2ClnsFsa0vjChlf8waW8QJyuFeSH201M7E7l5BUEGAHUqqajP6xA+sMoIH7GSz u+wQgVuO0mVzfTXC28EH6CN2iNNZ7unugeiUQJrMZPVTmp6BQdDbQUhYo2/t54miALyGhr RNbx3fhHZAUk62RhFq9prcKYc93PFIjHq0qucFphctBKeQCY85vG4wo0ijGJrRzbKmX/r0 9gsePtZai6/t3B4pDReYm4Pfn/moY+zJwo7TeaFj6Q/jiChkGXvKrmvbeuEbuQ== 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 4dTvX46TfHznv9 for ; Sun, 14 Dec 2025 20:13:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 334bd by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 14 Dec 2025 20:13:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Bjoern A. Zeeb Subject: git: f943454bfbd9 - main - LinuxKPI: 802.11: rework MC/configure_filter List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@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: f943454bfbd98ce49516c6ede8626b5f2602edc1 Auto-Submitted: auto-generated Date: Sun, 14 Dec 2025 20:13:24 +0000 Message-Id: <693f1a64.334bd.43d4ae57@gitrepo.freebsd.org> The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=f943454bfbd98ce49516c6ede8626b5f2602edc1 commit f943454bfbd98ce49516c6ede8626b5f2602edc1 Author: Bjoern A. Zeeb AuthorDate: 2025-12-14 20:07:13 +0000 Commit: Bjoern A. Zeeb CommitDate: 2025-12-14 20:12:56 +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 MFC after: 3 days --- 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); }