summaryrefslogtreecommitdiff
path: root/sys/arch/sparc
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/arch/sparc
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/arch/sparc')
-rw-r--r--sys/arch/sparc/dev/be.c5
-rw-r--r--sys/arch/sparc/dev/hme.c5
-rw-r--r--sys/arch/sparc/dev/if_ie.c5
-rw-r--r--sys/arch/sparc/dev/qe.c4
4 files changed, 11 insertions, 8 deletions
diff --git a/sys/arch/sparc/dev/be.c b/sys/arch/sparc/dev/be.c
index f9c87d423f1..5e14e6d2d9c 100644
--- a/sys/arch/sparc/dev/be.c
+++ b/sys/arch/sparc/dev/be.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: be.c,v 1.35 2004/09/29 07:35:11 miod Exp $ */
+/* $OpenBSD: be.c,v 1.36 2005/01/15 05:24:10 brad Exp $ */
/*
* Copyright (c) 1998 Theo de Raadt and Jason L. Wright.
@@ -644,7 +644,8 @@ beioctl(ifp, cmd, data)
* Multicast list has changed; set the hardware filter
* accordingly.
*/
- be_mcreset(sc);
+ if (ifp->if_flags & IFF_RUNNING)
+ be_mcreset(sc);
error = 0;
}
break;
diff --git a/sys/arch/sparc/dev/hme.c b/sys/arch/sparc/dev/hme.c
index 40727d19d93..c54dd3c0cdb 100644
--- a/sys/arch/sparc/dev/hme.c
+++ b/sys/arch/sparc/dev/hme.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: hme.c,v 1.45 2004/09/29 07:35:11 miod Exp $ */
+/* $OpenBSD: hme.c,v 1.46 2005/01/15 05:24:10 brad Exp $ */
/*
* Copyright (c) 1998 Jason L. Wright (jason@thought.net)
@@ -471,7 +471,8 @@ hmeioctl(ifp, cmd, data)
* Multicast list has changed; set the hardware filter
* accordingly.
*/
- hme_mcreset(sc);
+ if (ifp->if_flags & IFF_RUNNING)
+ hme_mcreset(sc);
error = 0;
}
break;
diff --git a/sys/arch/sparc/dev/if_ie.c b/sys/arch/sparc/dev/if_ie.c
index f42747a0f6e..c6e15657f30 100644
--- a/sys/arch/sparc/dev/if_ie.c
+++ b/sys/arch/sparc/dev/if_ie.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_ie.c,v 1.28 2004/09/29 07:35:11 miod Exp $ */
+/* $OpenBSD: if_ie.c,v 1.29 2005/01/15 05:24:10 brad Exp $ */
/* $NetBSD: if_ie.c,v 1.33 1997/07/29 17:55:38 fair Exp $ */
/*-
@@ -2038,7 +2038,8 @@ ieioctl(ifp, cmd, data)
* Multicast list has changed; set the hardware filter
* accordingly.
*/
- mc_reset(sc);
+ if (ifp->if_flags & IFF_RUNNING)
+ mc_reset(sc);
error = 0;
}
break;
diff --git a/sys/arch/sparc/dev/qe.c b/sys/arch/sparc/dev/qe.c
index 0263de1e758..40993385e1d 100644
--- a/sys/arch/sparc/dev/qe.c
+++ b/sys/arch/sparc/dev/qe.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: qe.c,v 1.25 2004/09/29 07:35:11 miod Exp $ */
+/* $OpenBSD: qe.c,v 1.26 2005/01/15 05:24:10 brad Exp $ */
/*
* Copyright (c) 1998, 2000 Jason L. Wright.
@@ -663,7 +663,7 @@ qeioctl(ifp, cmd, data)
* Multicast list has changed; set the hardware filter
* accordingly.
*/
- if (ifp->if_flags & IFF_UP)
+ if (ifp->if_flags & IFF_RUNNING)
qeinit(sc);
error = 0;
}