summaryrefslogtreecommitdiff
path: root/sys/dev/pci/if_em.c
diff options
context:
space:
mode:
authorBrad Smith <brad@cvs.openbsd.org>2005-10-21 02:03:17 +0000
committerBrad Smith <brad@cvs.openbsd.org>2005-10-21 02:03:17 +0000
commita60ddccc7d80e0d2894402c2c05260464df51d7e (patch)
tree9ea8d4de39cd4ae3537698b4d4bc25ad44c42fe2 /sys/dev/pci/if_em.c
parent62f4e944519d61355c735070d0b3088969e02926 (diff)
In em_process_receive_interrupts() cycle check IFF_RUNNING flag.
Diffstat (limited to 'sys/dev/pci/if_em.c')
-rw-r--r--sys/dev/pci/if_em.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/pci/if_em.c b/sys/dev/pci/if_em.c
index 45dd16d1d0e..30e4fcd1eb3 100644
--- a/sys/dev/pci/if_em.c
+++ b/sys/dev/pci/if_em.c
@@ -31,7 +31,7 @@ POSSIBILITY OF SUCH DAMAGE.
***************************************************************************/
-/* $OpenBSD: if_em.c,v 1.78 2005/10/16 17:32:37 brad Exp $ */
+/* $OpenBSD: if_em.c,v 1.79 2005/10/21 02:03:16 brad Exp $ */
/* $FreeBSD: if_em.c,v 1.46 2004/09/29 18:28:28 mlaier Exp $ */
#include <dev/pci/if_em.h>
@@ -2319,7 +2319,9 @@ em_process_receive_interrupts(struct em_softc *sc, int count)
return;
}
- while ((current_desc->status & E1000_RXD_STAT_DD) && (count != 0)) {
+ while ((current_desc->status & E1000_RXD_STAT_DD) &&
+ (count != 0) &&
+ (ifp->if_flags & IFF_RUNNING)) {
struct mbuf *m = NULL;
mp = sc->rx_buffer_area[i].m_head;