So far phy_disconnect() is called before free_irq(). If CONFIG_DEBUG_SHIRQ
is set and interrupt is shared, then free_irq() creates an "artificial"
interrupt by calling the interrupt handler. The "link change" flag is set
in the interrupt status register, causing phylib to eventually call
phy_suspend(). Because the net_device is detached from the PHY already,
the PHY driver can't recognize that WoL is configured and powers down the
PHY.
Fixes:
|
||
|---|---|---|
| .. | ||
| 8139cp.c | ||
| 8139too.c | ||
| atp.c | ||
| atp.h | ||
| Kconfig | ||
| Makefile | ||
| r8169.h | ||
| r8169_firmware.c | ||
| r8169_firmware.h | ||
| r8169_main.c | ||
| r8169_phy_config.c | ||