From: James Clough <james@rtetc.com> Date: Thu, 10 Sep 2009 07:11:50 +0000 (+0200) Subject: net: Fix problem with 405EZ ethernet interrupt X-Git-Tag: v2025.01-rc5-pxa1908~20759 X-Git-Url: http://git.dujemihanovic.xyz/contact?a=commitdiff_plain;h=c0b46d8ead3c6c5b569c83544fd71b9d73356869;p=u-boot.git net: Fix problem with 405EZ ethernet interrupt 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> Signed-off-by: Ben Warren <biggerbadderben@gmail.com> --- diff --git a/drivers/net/4xx_enet.c b/drivers/net/4xx_enet.c index afd108415b..f2c9be0dd3 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);