diff options
author | 2006-01-14 04:33:35 +0000 | |
---|---|---|
committer | 2006-01-14 04:33:35 +0000 | |
commit | fc3509cd53cf6e2ba81f75f08fa3205f74ee0703 (patch) | |
tree | 44ba854f38a891a4742133c505ba9cea0d3e0410 /sys | |
parent | Only update the RX ring consumer pointer after running through the RX loop, (diff) | |
download | wireguard-openbsd-fc3509cd53cf6e2ba81f75f08fa3205f74ee0703.tar.xz wireguard-openbsd-fc3509cd53cf6e2ba81f75f08fa3205f74ee0703.zip |
Make sure interrupt is properly ack'd.
From damien@
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/pci/if_nfe.c | 5 |
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); |