On Fri, Feb 06, 2026 at 03:52:16AM +0100, Linus Lüssing wrote:
quoted hunk ↗ jump to hunk
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index 2a2f54009e0f..7a32c6bed111 100644
--- a/net/bridge/br_multicast.c
+++ b/net/bridge/br_multicast.c
@@ -1124,6 +1124,7 @@ static void br_multicast_notify_active(struct net_bridge_mcast *brmctx,
*
* The multicast active state is set, per protocol family, if:
*
+ * - the bridge interface is up
* - multicast snooping is enabled
* - an IGMP/MLD querier is present
* - for own IPv6 MLD querier: an IPv6 address is configured on the bridge
@@ -1140,6 +1141,9 @@ static void br_multicast_update_active(struct net_bridge_mcast *brmctx)
lockdep_assert_held_once(&brmctx->br->multicast_lock);
+ if (!netif_running(brmctx->br->dev))
+ force_inactive = true;
+
Same comment as before. Let's skip unnecessary checks
if (!br_opt_get(brmctx->br, BROPT_MULTICAST_ENABLED))
force_inactive = true;