diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2007-09-04 17:55:16 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2007-09-04 17:55:16 +0000 |
commit | ba2b2bebb776fdccd2d0a1791e94aaaeeba09451 (patch) | |
tree | 0fedb39d15bba86592207b6d6bd9014f8ce99fa5 /sys/arch/mac68k/dev | |
parent | 313aa98f9107f944b0b674ffa228bc05a706eb25 (diff) |
Reset the chip after internal memory exhaustion, makes the driver more solid
with heavy NFS usage.
Diffstat (limited to 'sys/arch/mac68k/dev')
-rw-r--r-- | sys/arch/mac68k/dev/if_sn.c | 4 |
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 |