--- a/drivers/net/arm/ixp4xx_eth.c +++ b/drivers/net/arm/ixp4xx_eth.c @@ -1247,6 +1247,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); phy_disconnect(port->phydev); npe_port_tab[NPE_ID(port->id)] = NULL;