From: Russell King <[EMAIL PROTECTED]>
The smc91x driver relies upon register bank 2 being selected whenever
the interrupt handler is called. This isn't always so, especially if
we have a link change event during PHY configuration.
This results in register bank 0 being selected when the interrupt
handler is called, causing the wrong registers to be read for the
IRQ mask and status. In turn, this causes us to spin with a
permanently asserted IRQ.
The patch ensures that smc_phy_configure always exits with register
bank 2 selected.
Signed-off-by: Russell King <[EMAIL PROTECTED]>
Signed-off-by: Nicolas Pitre <[EMAIL PROTECTED]>
--- a/drivers/net/smc91x.c Fri Nov 11 21:20:10 2005
+++ b/drivers/net/smc91x.c Fri Nov 18 17:33:10 2005
@@ -1207,6 +1207,7 @@ static void smc_phy_configure(void *data
smc_phy_check_media(dev, 1);
smc_phy_configure_exit:
+ SMC_SELECT_BANK(2);
spin_unlock_irq(&lp->lock);
lp->work_pending = 0;
}
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html