summaryrefslogtreecommitdiff
path: root/sys/arch/mac68k
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2007-09-04 17:55:16 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2007-09-04 17:55:16 +0000
commitba2b2bebb776fdccd2d0a1791e94aaaeeba09451 (patch)
tree0fedb39d15bba86592207b6d6bd9014f8ce99fa5 /sys/arch/mac68k
parent313aa98f9107f944b0b674ffa228bc05a706eb25 (diff)
Reset the chip after internal memory exhaustion, makes the driver more solid
with heavy NFS usage.
Diffstat (limited to 'sys/arch/mac68k')
-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