diff options
| author | Robert Watson <rwatson@FreeBSD.org> | 2009-06-26 11:45:06 +0000 |
|---|---|---|
| committer | Robert Watson <rwatson@FreeBSD.org> | 2009-06-26 11:45:06 +0000 |
| commit | eb956cd041f956275522092d6ba66671356ff84f (patch) | |
| tree | 30aee113c454323f30d4c201e18a0f29e2938074 /sys/dev/ex | |
| parent | be80e49a01a84d1920236c2258b9ccb0df28062d (diff) | |
Notes
Diffstat (limited to 'sys/dev/ex')
| -rw-r--r-- | sys/dev/ex/if_ex.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/dev/ex/if_ex.c b/sys/dev/ex/if_ex.c index 3e6c90cdbb10..7a3d74fbc19a 100644 --- a/sys/dev/ex/if_ex.c +++ b/sys/dev/ex/if_ex.c @@ -870,13 +870,13 @@ ex_setmulti(struct ex_softc *sc) ifp = sc->ifp; count = 0; - IF_ADDR_LOCK(ifp); + if_maddr_rlock(ifp); TAILQ_FOREACH(maddr, &ifp->if_multiaddrs, ifma_link) { if (maddr->ifma_addr->sa_family != AF_LINK) continue; count++; } - IF_ADDR_UNLOCK(ifp); + if_maddr_runlock(ifp); if ((ifp->if_flags & IFF_PROMISC) || (ifp->if_flags & IFF_ALLMULTI) || count > 63) { @@ -904,7 +904,7 @@ ex_setmulti(struct ex_softc *sc) CSR_WRITE_2(sc, IO_PORT_REG, 0); CSR_WRITE_2(sc, IO_PORT_REG, (count + 1) * 6); - IF_ADDR_LOCK(ifp); + if_maddr_rlock(ifp); TAILQ_FOREACH(maddr, &ifp->if_multiaddrs, ifma_link) { if (maddr->ifma_addr->sa_family != AF_LINK) continue; @@ -915,7 +915,7 @@ ex_setmulti(struct ex_softc *sc) CSR_WRITE_2(sc, IO_PORT_REG, *addr++); CSR_WRITE_2(sc, IO_PORT_REG, *addr++); } - IF_ADDR_UNLOCK(ifp); + if_maddr_runlock(ifp); /* Program our MAC address as well */ /* XXX: Is this necessary? The Linux driver does this |
