Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Nov 2005 12:11:53 +0300
From:      Gleb Smirnoff <glebius@FreeBSD.org>
To:        XueFeng Deng <dsnofe@yahoo.com.cn>
Cc:        freebsd-current@FreeBSD.org
Subject:   Re: 6.0 LOR and panic on my laptop
Message-ID:  <20051114091153.GI1647@cell.sick.ru>
In-Reply-To: <20051114015710.48094.qmail@web15705.mail.cnb.yahoo.com>
References:  <20051114015710.48094.qmail@web15705.mail.cnb.yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--24zk1gE8NUlDmwG9
Content-Type: text/plain; charset=koi8-r
Content-Disposition: inline

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

--24zk1gE8NUlDmwG9
Content-Type: text/plain; charset=koi8-r
Content-Disposition: attachment; filename="re_intr.diff"

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) {

--24zk1gE8NUlDmwG9--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051114091153.GI1647>