[ECOS] "packets eaten" with AT91 EMAC Ethernet driver
Mon Jun 9 15:32:00 GMT 2008
On Mon, Jun 09, 2008 at 05:19:02PM +0200, J?rgen Lambrecht wrote:
> Since I solved the bugs in the AT91 EMAC driver
> (RX: reset of ?bytes_in_list? (position in current sg_list))(TX: at
> TXERR IRQ, reset SW pointer; set all used bits to 0 instead of 1),
> I always had the same problem: after a while of communicating over
> Ethernet with the AT91 EMAC, packets get ?eaten?.
> TX Packets get stuck, and they need an RX packet to get out.
It sounds like missed interrupts, or a race condition in the interrupt
You might be interested in looking at the Linux drivers/net/macb.c
file. This is i think the Linux driver for the EMAC. It might give you
some clues. It is interesting that they initialize all the TX buffers
as being used, the opposite to what you do.
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