Index: if_bge.c =================================================================== RCS file: /cvs/src/sys/dev/pci/if_bge.c,v retrieving revision 1.22 diff -u -r1.22 if_bge.c --- if_bge.c 26 Oct 2003 15:07:25 -0000 1.22 +++ if_bge.c 2 Nov 2003 13:04:56 -0000 @@ -2729,8 +2729,13 @@ break; case SIOCADDMULTI: case SIOCDELMULTI: - if (ifp->if_flags & IFF_RUNNING) { - bge_setmulti(sc); + error = (command == SIOCADDMULTI) + ? ether_addmulti(ifr, &sc->arpcom) + : ether_delmulti(ifr, &sc->arpcom); + + if (error == ENETRESET) { + if (ifp->if_flags & IFF_RUNNING) + bge_setmulti(sc); error = 0; } break;