diff options
author | ru <ru@FreeBSD.org> | 2004-03-24 17:43:45 +0000 |
---|---|---|
committer | ru <ru@FreeBSD.org> | 2004-03-24 17:43:45 +0000 |
commit | 53ff6f54e2971776a46586e7efe79839fdedf3d1 (patch) | |
tree | 359a80bbb7736d2d06d04926df1d0e7a73bd8324 /sys/pci/if_ste.c | |
parent | f062ee581efd7818cff2a968dea0ee508ac27522 (diff) | |
download | FreeBSD-src-53ff6f54e2971776a46586e7efe79839fdedf3d1.zip FreeBSD-src-53ff6f54e2971776a46586e7efe79839fdedf3d1.tar.gz |
Properly reprogram the hardware when IFF_ALLMULTI flag is set.
Diffstat (limited to 'sys/pci/if_ste.c')
-rw-r--r-- | sys/pci/if_ste.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/pci/if_ste.c b/sys/pci/if_ste.c index 01134c8..6dbf222 100644 --- a/sys/pci/if_ste.c +++ b/sys/pci/if_ste.c @@ -1427,6 +1427,9 @@ ste_ioctl(ifp, command, data) STE_CLRBIT1(sc, STE_RX_MODE, STE_RXMODE_PROMISC); } + if (ifp->if_flags & IFF_RUNNING && + (ifp->if_flags ^ sc->ste_if_flags) & IFF_ALLMULTI) + ste_setmulti(sc); if (!(ifp->if_flags & IFF_RUNNING)) { sc->ste_tx_thresh = STE_TXSTART_THRESH; ste_init(sc); |