summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorMike Belopuhov <mikeb@cvs.openbsd.org>2007-12-11 23:08:10 +0000
committerMike Belopuhov <mikeb@cvs.openbsd.org>2007-12-11 23:08:10 +0000
commitf7124ff7ff0ecddc526f55e537660e9ed319dbee (patch)
treef0c4468ab58e60d5b802770a31888d5b8288ab9a /sys/dev
parentd73d2004343e5a1ae21ce1ce31544f6795a389c7 (diff)
Fix check for pending interrupts as some other device is causing
the status register to change. From form@. ok jsg
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/pci/if_nfe.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/pci/if_nfe.c b/sys/dev/pci/if_nfe.c
index 3e0b7dee10c..6c37f349dea 100644
--- a/sys/dev/pci/if_nfe.c
+++ b/sys/dev/pci/if_nfe.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_nfe.c,v 1.74 2007/12/05 08:30:33 jsg Exp $ */
+/* $OpenBSD: if_nfe.c,v 1.75 2007/12/11 23:08:09 mikeb Exp $ */
/*-
* Copyright (c) 2006, 2007 Damien Bergamini <damien.bergamini@free.fr>
@@ -478,7 +478,7 @@ nfe_intr(void *arg)
struct ifnet *ifp = &sc->sc_arpcom.ac_if;
uint32_t r;
- if ((r = NFE_READ(sc, NFE_IRQ_STATUS)) == 0)
+ if ((r = NFE_READ(sc, NFE_IRQ_STATUS) & NFE_IRQ_WANTED) == 0)
return 0; /* not for us */
NFE_WRITE(sc, NFE_IRQ_STATUS, r);