6.0 LOR and panic on my laptop

Gleb Smirnoff glebius at FreeBSD.org
Mon Nov 14 01:11:58 PST 2005


On Mon, Nov 14, 2005 at 09:57:09AM +0800, XueFeng Deng wrote:
X> hey,
X>     yestoday, I update my laptop(HP NX7000) to 6_0, it panic when restarting.

X> re_rxeof(c1a50000,0,c06d917a,726,c1a94380) at re_rxeof+0x33d
X> re_intr(c1a50000,0,c06e27df,225,d3942d00) at re_intr+0xca
X> ithread_loop(c19bd900,d3942d38,c06e25d6,30d,0) at ithread_loop+0x182
X> fork_exit(c0524ef0,c19bd900,d3942d38) at fork_exit+0xc1
X> fork_trampoline() at fork_trampoline+0x8

Can you please try out the attached diff?

-- 
Totus tuus, Glebius.
GLEBIUS-RIPN GLEB-RIPE
-------------- next part --------------
Index: if_re.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/re/if_re.c,v
retrieving revision 1.56
diff -u -r1.56 if_re.c
--- if_re.c	1 Oct 2005 18:56:17 -0000	1.56
+++ if_re.c	14 Nov 2005 09:09:33 -0000
@@ -1835,13 +1835,15 @@
 		if ((status & RL_INTRS_CPLUS) == 0)
 			break;
 
-		if ((status & RL_ISR_RX_OK) ||
-		    (status & RL_ISR_RX_ERR))
+		if (((status & RL_ISR_RX_OK) ||
+		    (status & RL_ISR_RX_ERR)) &&
+		    ifp->if_drv_flags & IFF_DRV_RUNNING)
 			re_rxeof(sc);
 
-		if ((status & RL_ISR_TIMEOUT_EXPIRED) ||
+		if (((status & RL_ISR_TIMEOUT_EXPIRED) ||
 		    (status & RL_ISR_TX_ERR) ||
-		    (status & RL_ISR_TX_DESC_UNAVAIL))
+		    (status & RL_ISR_TX_DESC_UNAVAIL)) &&
+		    ifp->if_drv_flags & IFF_DRV_RUNNING)
 			re_txeof(sc);
 
 		if (status & RL_ISR_SYSTEM_ERR) {


More information about the freebsd-current mailing list