summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormiod <miod@openbsd.org>2007-09-04 17:55:15 +0000
committermiod <miod@openbsd.org>2007-09-04 17:55:15 +0000
commit51a44a36a22ecbaf0e09669f238421fb002fed80 (patch)
tree0fd773177c21fe69e16bbbad98c273c9bdaed50b
parentuse memrchr; ok millert@. (diff)
downloadwireguard-openbsd-51a44a36a22ecbaf0e09669f238421fb002fed80.tar.xz
wireguard-openbsd-51a44a36a22ecbaf0e09669f238421fb002fed80.zip
Reset the chip after internal memory exhaustion, makes the driver more solid
with heavy NFS usage.
-rw-r--r--sys/arch/mac68k/dev/if_sn.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/arch/mac68k/dev/if_sn.c b/sys/arch/mac68k/dev/if_sn.c
index 3ff8b65838b..b1a0590a0b6 100644
--- a/sys/arch/mac68k/dev/if_sn.c
+++ b/sys/arch/mac68k/dev/if_sn.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_sn.c,v 1.46 2007/01/12 16:31:21 martin Exp $ */
+/* $OpenBSD: if_sn.c,v 1.47 2007/09/04 17:55:15 miod Exp $ */
/* $NetBSD: if_sn.c,v 1.13 1997/04/25 03:40:10 briggs Exp $ */
/*
@@ -861,6 +861,8 @@ snintr(void *arg)
if (isr & ISR_RFO)
printf("%s: receive FIFO overrun\n",
sc->sc_dev.dv_xname);
+ if (isr & (ISR_RDE | ISR_RBE | ISR_RBAE /* | ISR_RFO */))
+ snreset(sc);
}
if (isr & (ISR_CRC | ISR_FAE | ISR_MP)) {
#ifdef notdef