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 1d210ed46130..489c7c3b90d9 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); |
