summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Bonesio <bones@secretlab.ca>2009-10-15 02:10:19 +0400
committerDavid S. Miller <davem@davemloft.net>2009-10-15 02:10:19 +0400
commit37ccd92f55c6c6c23f2b4a7c8830b313b70da0ed (patch)
treec2dd58c451a5923011fbfd1b8beea67b6077f766
parente72701acbe0b35e52d3f04d442837c06b4e64f1c (diff)
downloadlinux-37ccd92f55c6c6c23f2b4a7c8830b313b70da0ed.tar.xz
net/fec_mpc52xx: Fix kernel panic on FEC error
The MDIO bus cannot be accessed at interrupt context, but on an FEC error, the fec_mpc52xx driver reset function also tries to reset the PHY. Since the error is detected at IRQ context, and the PHY functions try to sleep, the kernel ends up panicking. Resetting the PHY on an FEC error isn't even necessary. This patch solves the problem by removing the PHY reset entirely. Signed-off-by: John Bonesio <bones@secretlab.ca> Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/fec_mpc52xx.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/drivers/net/fec_mpc52xx.c b/drivers/net/fec_mpc52xx.c
index c40113f58963..66dace6d324f 100644
--- a/drivers/net/fec_mpc52xx.c
+++ b/drivers/net/fec_mpc52xx.c
@@ -759,12 +759,6 @@ static void mpc52xx_fec_reset(struct net_device *dev)
mpc52xx_fec_hw_init(dev);
- if (priv->phydev) {
- phy_stop(priv->phydev);
- phy_write(priv->phydev, MII_BMCR, BMCR_RESET);
- phy_start(priv->phydev);
- }
-
bcom_fec_rx_reset(priv->rx_dmatsk);
bcom_fec_tx_reset(priv->tx_dmatsk);