From 89df0e6b8b27747dc883f3de9e8f46b10fcedc39 Mon Sep 17 00:00:00 2001 From: Brad Smith Date: Sat, 15 Jan 2005 05:24:13 +0000 Subject: make sure interface is in RUNNING state before touching the multicast filters From NetBSD NetBSD PR 27678 for details ok mcbride@ --- sys/arch/sparc/dev/be.c | 5 +++-- sys/arch/sparc/dev/hme.c | 5 +++-- sys/arch/sparc/dev/if_ie.c | 5 +++-- sys/arch/sparc/dev/qe.c | 4 ++-- 4 files changed, 11 insertions(+), 8 deletions(-) (limited to 'sys/arch/sparc') 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; } -- cgit v1.2.3