Subject: Re: Kernel panic on 2.0.2...
To: None <port-dreamcast@NetBSD.org>
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
List: port-dreamcast
Date: 06/09/2005 01:54:55
hemi@puresimplicity.net wrote:
> Another crash, this time at 10BaseTX:
>
> len 0x0 offset 0x3f0 mapsize 0x410
I guess mapsize should be 0x4010, right?
Is the offset always 0x3f0 on crash?
> panic: gaps_dmamap_sync: bad length
> Stopped at netbsd:cpu_Debugger+0x6: mov r14, r15
>
> trace:
>
> cpu_Debugger() at netbsd:panic+0x98
> panic() at netbsd:gaps_dmamap_sync+0x1bc
> gaps_dmamap_sync() at netbsd:rtk_rxeof+0x334
> rtk_rxeof() at netbsd:rtk_intr+0x6c
> rtk_intr() at netbsd:sysasic_intr+0x48
> sysasic_intr() at netbsd:intc_intr+0x54
> intc_intr() at 0x8c00680
> () at 0
>
> So maybe this problem isn't just a problem with 100BaseTX usage...
It might be caused by braindamaged realtech hardware ;-p
How about the attached patch?
Index: dev/ic/rtl81x9.c
===================================================================
RCS file: /cvsroot/src/sys/dev/ic/rtl81x9.c,v
retrieving revision 1.51
diff -u -r1.51 rtl81x9.c
--- dev/ic/rtl81x9.c 27 Feb 2005 00:27:02 -0000 1.51
+++ dev/ic/rtl81x9.c 8 Jun 2005 16:51:47 -0000
@@ -1039,6 +1039,7 @@
break;
if ((rxstat & RTK_RXSTAT_RXOK) == 0 ||
+ total_len < ETHER_MIN_LEN ||
total_len > ETHER_MAX_LEN) {
ifp->if_ierrors++;
---
Izumi Tsutsui