diff options
author | Atsushi Nemoto <anemo@mba.ocn.ne.jp> | 2008-04-10 10:30:07 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-04-12 03:01:42 -0400 |
commit | 84b7901f8d5a17536ef2df7fd628ab865df8fe3a (patch) | |
tree | b896855f33b12374e13c9df9f66f3a9fd70b3a4e /drivers/net/macb.c | |
parent | 3d137fdd16b26be31a653f83d6ce4d3a1ed8701e (diff) |
macb: Call phy_disconnect on removing
Call phy_disconnect() on remove routine. Otherwise the phy timer
causes a kernel crash when unloading.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/net/macb.c')
-rw-r--r-- | drivers/net/macb.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/macb.c b/drivers/net/macb.c index 1d210ed46130..10fcea59755e 100644 --- a/drivers/net/macb.c +++ b/drivers/net/macb.c | |||
@@ -1257,6 +1257,8 @@ static int __exit macb_remove(struct platform_device *pdev) | |||
1257 | 1257 | ||
1258 | if (dev) { | 1258 | if (dev) { |
1259 | bp = netdev_priv(dev); | 1259 | bp = netdev_priv(dev); |
1260 | if (bp->phy_dev) | ||
1261 | phy_disconnect(bp->phy_dev); | ||
1260 | mdiobus_unregister(&bp->mii_bus); | 1262 | mdiobus_unregister(&bp->mii_bus); |
1261 | kfree(bp->mii_bus.irq); | 1263 | kfree(bp->mii_bus.irq); |
1262 | unregister_netdev(dev); | 1264 | unregister_netdev(dev); |