--- a/drivers/net/arm/ixp4xx_eth.c +++ b/drivers/net/arm/ixp4xx_eth.c @@ -1245,6 +1245,7 @@ static int __devexit eth_remove_one(stru struct net_device *dev = platform_get_drvdata(pdev); struct port *port = netdev_priv(dev); + phy_disconnect(port->phydev); unregister_netdev(dev); npe_port_tab[NPE_ID(port->id)] = NULL; platform_set_drvdata(pdev, NULL);