[ECOS] Ping the RLTK 8139 driver with a large packet and it crashes

Chuck McManis ecos@mcmanis.com
Sat Mar 10 04:52:00 GMT 2007


At 07:28 AM 3/9/2007, Wayne Visser wrote:
>Hi again,
>
>I did some more checking into this with CYGDBG_DEVS_ETH_RLTK_8139_CHATTER 
>enabled.
>
>When pinged with a large packet (ping -s 40000) this happens:
>
>rltk8139_deliver(eth0): receive buffer overflow
>rltk8139_stop(eth0)
>rltk8139_start(eth0)
>rltk8139_start(eth0): 8139 was successfully reset.

I would guess that the buffers you have allocated are insufficient to hold 
what they are supposed to hold. This can happen as an off by one error or a 
more serious "it'll never be that big" kind of initialization code. I would 
look carefully at the memory allocation for data buffers and insure that 
the descriptors contain an accurate reflection of how much memory really is 
allocated. Otherwise the DMA engine will DMA over memory that you did not 
allocate and can be part of some other part of the kernel or another driver.

--Chuck


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list