diff options
author | Brad Smith <brad@cvs.openbsd.org> | 2005-01-15 05:24:13 +0000 |
---|---|---|
committer | Brad Smith <brad@cvs.openbsd.org> | 2005-01-15 05:24:13 +0000 |
commit | 89df0e6b8b27747dc883f3de9e8f46b10fcedc39 (patch) | |
tree | a292b90e17b1cad700ae6fa40a061e782999a21f /sys/dev/ic/dp8390.c | |
parent | 8c0a544eeaf396cc953120df64521d1b451b7b18 (diff) |
make sure interface is in RUNNING state before touching the multicast filters
From NetBSD
NetBSD PR 27678 for details
ok mcbride@
Diffstat (limited to 'sys/dev/ic/dp8390.c')
-rw-r--r-- | sys/dev/ic/dp8390.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/dev/ic/dp8390.c b/sys/dev/ic/dp8390.c index 8f8ea1572ab..46b43b40393 100644 --- a/sys/dev/ic/dp8390.c +++ b/sys/dev/ic/dp8390.c @@ -1,4 +1,4 @@ -/* $OpenBSD: dp8390.c,v 1.26 2004/06/06 17:56:36 mcbride Exp $ */ +/* $OpenBSD: dp8390.c,v 1.27 2005/01/15 05:24:11 brad Exp $ */ /* $NetBSD: dp8390.c,v 1.13 1998/07/05 06:49:11 jonathan Exp $ */ /* @@ -902,8 +902,10 @@ dp8390_ioctl(ifp, cmd, data) * Multicast list has changed; set the hardware filter * accordingly. */ - dp8390_stop(sc); /* XXX for ds_setmcaf? */ - dp8390_init(sc); + if (ifp->if_flags & IFF_RUNNING) { + dp8390_stop(sc); /* XXX for ds_setmcaf? */ + dp8390_init(sc); + } error = 0; } break; |