diff options
Diffstat (limited to 'drivers/net/macb.c')
-rw-r--r-- | drivers/net/macb.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/net/macb.c b/drivers/net/macb.c index 1d210ed4613..489c7c3b90d 100644 --- a/drivers/net/macb.c +++ b/drivers/net/macb.c | |||
@@ -242,12 +242,12 @@ static int macb_mii_init(struct macb *bp) | |||
242 | /* Enable managment port */ | 242 | /* Enable managment port */ |
243 | macb_writel(bp, NCR, MACB_BIT(MPE)); | 243 | macb_writel(bp, NCR, MACB_BIT(MPE)); |
244 | 244 | ||
245 | bp->mii_bus.name = "MACB_mii_bus", | 245 | bp->mii_bus.name = "MACB_mii_bus"; |
246 | bp->mii_bus.read = &macb_mdio_read, | 246 | bp->mii_bus.read = &macb_mdio_read; |
247 | bp->mii_bus.write = &macb_mdio_write, | 247 | bp->mii_bus.write = &macb_mdio_write; |
248 | bp->mii_bus.reset = &macb_mdio_reset, | 248 | bp->mii_bus.reset = &macb_mdio_reset; |
249 | bp->mii_bus.id = bp->pdev->id, | 249 | bp->mii_bus.id = bp->pdev->id; |
250 | bp->mii_bus.priv = bp, | 250 | bp->mii_bus.priv = bp; |
251 | bp->mii_bus.dev = &bp->dev->dev; | 251 | bp->mii_bus.dev = &bp->dev->dev; |
252 | pdata = bp->pdev->dev.platform_data; | 252 | pdata = bp->pdev->dev.platform_data; |
253 | 253 | ||
@@ -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); |