Call re_reset() after re_stop() in re_init().
Without this, re(4) on my macppc sometimes falls into mangled state and generates many errors after ifconfig(8) or tcpdump(8) etc.
This commit is contained in:
parent
f1ee5b182f
commit
df320777c1
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: rtl8169.c,v 1.52 2006/11/05 16:52:10 tsutsui Exp $ */
|
||||
/* $NetBSD: rtl8169.c,v 1.53 2006/11/10 21:49:02 tsutsui Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1997, 1998-2003
|
||||
@ -1432,7 +1432,6 @@ re_poll(struct ifnet *ifp, enum poll_cmd cmd, int count)
|
||||
*/
|
||||
|
||||
if (status & RTK_ISR_SYSTEM_ERR) {
|
||||
re_reset(sc);
|
||||
re_init(sc);
|
||||
}
|
||||
}
|
||||
@ -1489,7 +1488,6 @@ re_intr(void *arg)
|
||||
re_txeof(sc);
|
||||
|
||||
if (status & RTK_ISR_SYSTEM_ERR) {
|
||||
re_reset(sc);
|
||||
re_init(ifp);
|
||||
}
|
||||
|
||||
@ -1779,6 +1777,8 @@ re_init(struct ifnet *ifp)
|
||||
*/
|
||||
re_stop(ifp, 0);
|
||||
|
||||
re_reset(sc);
|
||||
|
||||
/*
|
||||
* Enable C+ RX and TX mode, as well as VLAN stripping and
|
||||
* RX checksum offload. We must configure the C+ register
|
||||
|
Loading…
Reference in New Issue
Block a user