summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authorjsg <jsg@openbsd.org>2006-01-14 04:33:35 +0000
committerjsg <jsg@openbsd.org>2006-01-14 04:33:35 +0000
commitfc3509cd53cf6e2ba81f75f08fa3205f74ee0703 (patch)
tree44ba854f38a891a4742133c505ba9cea0d3e0410 /sys/dev
parentOnly update the RX ring consumer pointer after running through the RX loop, (diff)
downloadwireguard-openbsd-fc3509cd53cf6e2ba81f75f08fa3205f74ee0703.tar.xz
wireguard-openbsd-fc3509cd53cf6e2ba81f75f08fa3205f74ee0703.zip
Make sure interrupt is properly ack'd.
From damien@
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/pci/if_nfe.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/pci/if_nfe.c b/sys/dev/pci/if_nfe.c
index ae4a851ae5c..eecc0a78035 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.4 2005/12/17 11:12:54 jsg Exp $ */
+/* $OpenBSD: if_nfe.c,v 1.5 2006/01/14 04:33:35 jsg Exp $ */
/*
* Copyright (c) 2005 Jonathan Gray <jsg@openbsd.org>
*
@@ -351,7 +351,8 @@ nfe_intr(void *arg)
/* disable interrupts */
NFE_WRITE(sc, NFE_IRQ_MASK, 0);
- r = NFE_READ(sc, NFE_IRQ_STATUS) & 0x1ff;
+ r = NFE_READ(sc, NFE_IRQ_STATUS);
+ NFE_WRITE(sc, NFE_IRQ_STATUS, r);
if (r == 0) {
NFE_WRITE(sc, NFE_IRQ_MASK, NFE_IRQ_WANTED | NFE_IRQ_TIMER);