This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: Ping the RLTK 8139 driver with a large packet and it crashes
- From: Chuck McManis <ecos at mcmanis dot com>
- To: Wayne Visser <wvisser at lszpaper dot com>,ecos-discuss at sourceware dot org
- Date: Fri, 09 Mar 2007 20:52:59 -0800
- Subject: Re: [ECOS] Ping the RLTK 8139 driver with a large packet and it crashes
- References: <45E75A74.1000309@lszpaper.com> <45F17D06.9040700@lszpaper.com>
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