summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Gwynne <dlg@cvs.openbsd.org>2006-04-12 07:11:29 +0000
committerDavid Gwynne <dlg@cvs.openbsd.org>2006-04-12 07:11:29 +0000
commit1cc870c55854e72d171b89cfe6a5c9f03adbace5 (patch)
tree9a80994a9e504d1300ab3f76f857dc652a1f308f
parent7062a18b613baa3aed148da22f14a41df19ce969 (diff)
when the interrupt handler has run out of work to do it shouldnt return 0
from the work loop. instead it should break from it so the spl can be lowered and any work that has been done can be counted. this fixes interrupt counting at least, and possibly issues related to leaving splnet raised.. ok deraadt@
-rw-r--r--sys/dev/pci/if_em.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/pci/if_em.c b/sys/dev/pci/if_em.c
index 6b2896a77b5..16ec60b71fe 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.112 2006/03/28 05:33:03 brad Exp $ */
+/* $OpenBSD: if_em.c,v 1.113 2006/04/12 07:11:28 dlg Exp $ */
/* $FreeBSD: if_em.c,v 1.46 2004/09/29 18:28:28 mlaier Exp $ */
#include <dev/pci/if_em.h>
@@ -724,7 +724,7 @@ em_intr(void *arg)
if (sc->hw.mac_type >= em_82571)
test_icr = (reg_icr & E1000_ICR_INT_ASSERTED);
if (!test_icr)
- return (0);
+ break;
claimed = 1;