[ECOS] bugs in AT91 Ethernet driver

Andrew Lunn andrew@lunn.ch
Mon Jun 2 18:04:00 GMT 2008

> During debugging, I see that 'priv->tx_busy' stays 'true', because the  
> TX-Complete bit (COMP of TSR reg) is never set - I also see that the  
> TX-Used Bit Read (UBR of TSR reg) is set, which is normal I think  
> because the TX buffers have not yet been released (because COMP is not  
> set..). But the TX-GO bit is 0, meaning that transmit is not busy.
> I added code to release the TX buffers and to clear 'priv->tx_busy' when  
> TX-GO is read 0. Then at each ARP request, there is an ARP reply, but it  
> does not get out.. (monitoring with Wireshark)
> What's happening - it is like the EMAC TX is blocked, but why?

It might be worth printing out the value of isr in at91_eth_isr. As
the comment says, error conditions are not handled. Maybe you are
getting a buffer under run?


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