aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Chadd <adrian@FreeBSD.org>2026-07-12 15:26:46 +0000
committerAdrian Chadd <adrian@FreeBSD.org>2026-07-12 15:26:46 +0000
commit7aa34e12c9e198bf8b7e74370ff702def5ec2649 (patch)
tree94a6dfbbc122806f9735487bb0b97f3c369125df
parent23a6997e3071cea8d8fc5238792fdd0ad5b5dc9a (diff)
rge: fix multicast add/removal by using if_getdrvflags()
Using if_getflags() to check IFF_DRV_RUNNING is wrong; if_getdrvflags() is required. This issue resulted in the multicast filter not being updated. This was an oversight by me in my initial port. Thanks to danilo@ for reporting it and Oleg <oleglelchuk@gmail.com> for the fix. PR: kern/295176
-rw-r--r--sys/dev/rge/if_rge.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/dev/rge/if_rge.c b/sys/dev/rge/if_rge.c
index 61dcac390765..7c11da5c3f53 100644
--- a/sys/dev/rge/if_rge.c
+++ b/sys/dev/rge/if_rge.c
@@ -951,7 +951,7 @@ rge_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
case SIOCADDMULTI:
case SIOCDELMULTI:
RGE_LOCK(sc);
- if ((if_getflags(ifp) & IFF_DRV_RUNNING) != 0)
+ if ((if_getdrvflags(ifp) & IFF_DRV_RUNNING) != 0)
rge_iff_locked(sc);
RGE_UNLOCK(sc);
break;