diff options
author | Jason Wright <jason@cvs.openbsd.org> | 2001-03-14 20:11:40 +0000 |
---|---|---|
committer | Jason Wright <jason@cvs.openbsd.org> | 2001-03-14 20:11:40 +0000 |
commit | a3dd11a77823f80a82e36a95f59ab7c48fe883bf (patch) | |
tree | 68a00083de0b5326797705a973636c71d0e2ce1e | |
parent | 130542a898b52bb6235846ade3e165e5a9afa306 (diff) |
Follow openbsd model for multicast ioctl handling
-rw-r--r-- | sys/dev/pci/if_ti.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/sys/dev/pci/if_ti.c b/sys/dev/pci/if_ti.c index b97bfc3f05d..15b04c46fd0 100644 --- a/sys/dev/pci/if_ti.c +++ b/sys/dev/pci/if_ti.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_ti.c,v 1.15 2001/02/20 19:39:43 mickey Exp $ */ +/* $OpenBSD: if_ti.c,v 1.16 2001/03/14 20:11:39 jason Exp $ */ /* * Copyright (c) 1997, 1998, 1999 @@ -2404,8 +2404,13 @@ int ti_ioctl(ifp, command, data) break; case SIOCADDMULTI: case SIOCDELMULTI: - if (ifp->if_flags & IFF_RUNNING) { - ti_setmulti(sc); + error = (command == SIOCADDMULTI) ? + ether_addmulti(ifr, &sc->arpcom) : + ether_delmulti(ifr, &sc->arpcom); + + if (error == ENETRESET) { + if (ifp->if_flags & IFF_RUNNING) + ti_setmulti(sc); error = 0; } break; |