diff options
Diffstat (limited to 'sys/pci/if_ste.c')
-rw-r--r-- | sys/pci/if_ste.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/pci/if_ste.c b/sys/pci/if_ste.c index 27d5399..8e73f65 100644 --- a/sys/pci/if_ste.c +++ b/sys/pci/if_ste.c @@ -579,6 +579,7 @@ ste_setmulti(sc) CSR_WRITE_2(sc, STE_MAR3, 0); /* now program new ones */ + IF_ADDR_LOCK(ifp); TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) { if (ifma->ifma_addr->sa_family != AF_LINK) continue; @@ -589,6 +590,7 @@ ste_setmulti(sc) else hashes[1] |= (1 << (h - 32)); } + IF_ADDR_UNLOCK(ifp); CSR_WRITE_2(sc, STE_MAR0, hashes[0] & 0xFFFF); CSR_WRITE_2(sc, STE_MAR1, (hashes[0] >> 16) & 0xFFFF); |