unhandled ethernet wakeup interrupt in 405 ethernet driver
Hi,
I noticed a networks problem with some of our 405EP platforms (u-boot
config: PLU405). When doing tftp u-boot runs into an endless interrupt loop of the ethernet wakeup interrupt (VECNUM_EWU0).
So why is the wakeup interrupt enabled in 405gp_enet.c in general? The interrupt handler enetInt() does not care about this interrupt source at all. So when it occurs we end up in an interrupt loop. I found no hint about how to reset this interrupt in the 405EP manual.
When I do not install a handler on the wakeup interrupt source (EWU0) everything is fine. This is my current workaround.
The current 405 linux ethernet driver also does not attach to this interrupt.
I am astonished about two things:
1) The installation of the enetInt() handler for the wakeup interrupt is only done for 405EP platforms in ppc_4xx_eth_initialize():
#if defined(CONFIG_405EP) /* 405EP has one EWU interrupt */ irq_install_handler (VECNUM_EWU0, (interrupt_handler_t *) enetInt, dev);
#endif
But it is not done for 405EP platforms in ppc_4xx_eth_init():
#if !defined(CONFIG_405EP) /* 405EP has one EWU interrupt */ irq_install_handler (VECNUM_EWU0 + (hw_p->devnum * 2), (interrupt_handler_t *) enetInt, dev);
#endif
This seems to be strange at all.
I suppose that no one is using the wakeup mechanism and so I propose to completely remove the wakeup stuff!
2) Why the hell do we get ethernet wakeup interrupts on some of our 405EP boards :-(
So can we get rid of installing a wakeup interrupt that even does not handle the interrupt? If yes I will submit a patch.
Matthias
Signature · 13 lines
-------------------------------------------------------------------------
_/_/_/_/ Matthias Fuchs
_/_/_/_/ Dipl.-Ing.
_/_/_/_/ matthias.fuchs at esd-electronics.com
_/_/_/ _/_/_/_/_/_/_/ esd electronic system design gmbh
_/ _/ _/ _/ Vahrenwalder Str. 207
_/ _/ _/_/_/ _/ _/ D-30165 Hannover
_/ _/ _/ _/ Phone: +49-511-37298-0
_/_/_/_/_/_/_/ _/_/_/ Fax: +49-511-37298-68
-------------------------------------------------------------------------Hi,
I came to the conslusion that the ethernet wakeup interupt should not be touched by u-boot and the code can be removed.
Here is my patch that fixes cpu/ppc4xx/405gp_enet.c.
Here is the changelog entry:
* Patch by Matthias Fuchs, 10 May 2005:
Do not attach to ethernet wakeup interrupt in 405gp_enet.c
Does anything speak against this patch? I do not think so :-)
Matthias
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: enet_wakeup_irq-050510.patch
Url: http://lists.denx.de/pipermail/u-boot/attachments/20050510/4268886a/attachment.txt