
Stefan Roese wrote:
From: James Clough james@rtetc.com
On 405EZ the RX-/TX-interrupts are coalesced into one IRQ bit in the UIC. We need to acknowledge the RX-/TX-interrupts in the SDR0_ICINTSTAT reg as well.
This problem was introduced with commit d1631fe1 [ppc4xx: Consolidate PPC4xx UIC defines]
Signed-off-by: James Clough james@rtetc.com Signed-off-by: Stefan Roese sr@denx.de
drivers/net/4xx_enet.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/drivers/net/4xx_enet.c b/drivers/net/4xx_enet.c index 329eef0..9d438b5 100644 --- a/drivers/net/4xx_enet.c +++ b/drivers/net/4xx_enet.c @@ -1717,6 +1717,15 @@ int enetInt (struct eth_device *dev) rc = 0; } } +#if defined(CONFIG_405EZ)
/*
* On 405EZ the RX-/TX-interrupts are coalesced into
* one IRQ bit in the UIC. We need to acknowledge the
* RX-/TX-interrupts in the SDR0_ICINTSTAT reg as well.
*/
mtsdr(SDR0_ICINTSTAT,
SDR_ICRX_STAT | SDR_ICTX0_STAT | SDR_ICTX1_STAT);
+#endif /* defined(CONFIG_405EZ) */ } while (serviced);
return (rc);
Applied to net repo.
thanks, Ben