Date: Mon, 15 Dec 2003 13:46:29 +0300 (MSK) From: Andrew Belashov <bel@orel.ru> To: FreeBSD-gnats-submit@FreeBSD.org Cc: Andrew Belashov <bel@orel.ru> Subject: kern/60250: [patch] rl(4) driver incorrect reset TX descriptors after network errors Message-ID: <200312151046.hBFAkTqG022550@white.orel.ru> Resent-Message-ID: <200312151050.hBFAoI9k038919@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 60250 >Category: kern >Synopsis: [patch] rl(4) driver incorrect reset TX descriptors after network errors >Confidential: no >Severity: critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Dec 15 02:50:17 PST 2003 >Closed-Date: >Last-Modified: >Originator: Andrew Belashov >Release: FreeBSD 5.1-RELEASE sparc64 >Organization: JSC "CenterTelecom" >Environment: System: FreeBSD white 5.1-RELEASE FreeBSD 5.1-RELEASE #1: Wed Dec 10 16:15:47 MSK 2003 bel@orel.ru:/usr/obj/usr/src/sys/WHITE sparc64 >Description: Kernel panic with message "panic: trap: memory address not aligned" on FreeBSD/sparc64 after network errors on rl(4) interface. The reason: Driver incorrect reset array of TX descriptors (DVMA address). >How-To-Repeat: >Fix: Use this patch. --- if_rl.c.diff begins here --- --- sys/pci/if_rl.c.orig Sun Jul 6 10:11:14 2003 +++ sys/pci/if_rl.c Wed Dec 10 16:07:14 2003 @@ -1832,7 +1832,8 @@ sc->rl_cdata.rl_tx_dmamap[i]); m_freem(sc->rl_cdata.rl_tx_chain[i]); sc->rl_cdata.rl_tx_chain[i] = NULL; - CSR_WRITE_4(sc, RL_TXADDR0 + i, 0x0000000); + CSR_WRITE_4(sc, RL_TXADDR0 + (i * sizeof(u_int32_t)), + 0x0000000); } } --- if_rl.c.diff ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200312151046.hBFAkTqG022550>