Date: Tue, 18 Jul 2006 15:00:21 -0400 From: John Baldwin <jhb@freebsd.org> To: freebsd-hardware@freebsd.org Cc: Olivier Mueller <om-lists-bsd@omx.ch> Subject: Re: dell poweredge 1950 : not rebooting under 6.1 (sometimes) + bce0 issues Message-ID: <200607181500.21683.jhb@freebsd.org> In-Reply-To: <1153221904.23956.25.camel@olipc.insign.local> References: <1152697468.31818.15.camel@olipc.insign.local> <1153221904.23956.25.camel@olipc.insign.local>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 18 July 2006 07:25, Olivier Mueller wrote: > On Wed, 2006-07-12 at 11:44 +0200, Olivier Mueller wrote: > > Any guess about what I should try? I recompiled the kernel > > with & without apci support or some different options, but it didn't > > helped yet. > > Another problem: I wanted to transfer large amount of data (10GB) using > rsync via the network, and just after 60MB, the network card won't > answser anymore, and here is what is displayed in dmesg: > > bce0: /usr/src/sys/dev/bce/if_bce.c(4644): Error mapping mbuf into TX > chain! > bce0: /usr/src/sys/dev/bce/if_bce.c(4644): Error mapping mbuf into TX > chain! > bce0: /usr/src/sys/dev/bce/if_bce.c(4644): Error mapping mbuf into TX > chain! > [...] This sounds like it is out of tx descriptors. Do you ever get a watchdog timeout message? If not, can you try this patch: Index: if_bce.c =================================================================== RCS file: /usr/cvs/src/sys/dev/bce/if_bce.c,v retrieving revision 1.5 diff -u -r1.5 if_bce.c --- if_bce.c 12 Jul 2006 23:13:09 -0000 1.5 +++ if_bce.c 18 Jul 2006 18:59:45 -0000 @@ -4391,6 +4391,9 @@ DBRUNIF(1, sc->tx_mbuf_alloc--); ifp->if_opackets++; + + /* Clear the TX timeout timer. */ + ifp->if_timer = 0; } sc->used_tx_bd--; @@ -4406,9 +4409,6 @@ BUS_SPACE_BARRIER_READ); } - /* Clear the TX timeout timer. */ - ifp->if_timer = 0; - /* Clear the tx hardware queue full flag. */ if ((sc->used_tx_bd + BCE_TX_SLACK_SPACE) < USABLE_TX_BD) { DBRUNIF((ifp->if_drv_flags & IFF_DRV_OACTIVE), @@ -5031,10 +5031,12 @@ /* DBRUN(BCE_FATAL, bce_breakpoint(sc)); */ + BCE_LOCK(sc); ifp->if_drv_flags &= ~IFF_DRV_RUNNING; - bce_init(sc); + bce_init_locked(sc); ifp->if_oerrors++; + BCE_UNLOCK(sc); } -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200607181500.21683.jhb>