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

Reply via email to