summaryrefslogtreecommitdiff
path: root/sys/dev/pci/if_sis.c
diff options
context:
space:
mode:
authorBrad Smith <brad@cvs.openbsd.org>2005-01-15 05:24:13 +0000
committerBrad Smith <brad@cvs.openbsd.org>2005-01-15 05:24:13 +0000
commit89df0e6b8b27747dc883f3de9e8f46b10fcedc39 (patch)
treea292b90e17b1cad700ae6fa40a061e782999a21f /sys/dev/pci/if_sis.c
parent8c0a544eeaf396cc953120df64521d1b451b7b18 (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/pci/if_sis.c')
-rw-r--r--sys/dev/pci/if_sis.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/sys/dev/pci/if_sis.c b/sys/dev/pci/if_sis.c
index d2d045ed382..5fca6dc4f5c 100644
--- a/sys/dev/pci/if_sis.c
+++ b/sys/dev/pci/if_sis.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_sis.c,v 1.42 2004/09/28 04:37:33 brad Exp $ */
+/* $OpenBSD: if_sis.c,v 1.43 2005/01/15 05:24:11 brad Exp $ */
/*
* Copyright (c) 1997, 1998, 1999
* Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved.
@@ -1966,10 +1966,12 @@ int sis_ioctl(ifp, command, data)
* Multicast list has changed; set the hardware
* filter accordingly.
*/
- if (sc->sis_type == SIS_TYPE_83815)
- sis_setmulti_ns(sc);
- else
- sis_setmulti_sis(sc);
+ if (ifp->if_flags & IFF_RUNNING) {
+ if (sc->sis_type == SIS_TYPE_83815)
+ sis_setmulti_ns(sc);
+ else
+ sis_setmulti_sis(sc);
+ }
error = 0;
}
break;