.. | .. |
---|
1158 | 1158 | err = register_netdev(dev); |
---|
1159 | 1159 | if (err) { |
---|
1160 | 1160 | dev_err(&pdev->dev, "Failed to register net device\n"); |
---|
1161 | | - goto err_out_mdio_unregister; |
---|
| 1161 | + goto err_out_phy_disconnect; |
---|
1162 | 1162 | } |
---|
1163 | 1163 | return 0; |
---|
1164 | 1164 | |
---|
| 1165 | +err_out_phy_disconnect: |
---|
| 1166 | + phy_disconnect(dev->phydev); |
---|
1165 | 1167 | err_out_mdio_unregister: |
---|
1166 | 1168 | mdiobus_unregister(lp->mii_bus); |
---|
1167 | 1169 | err_out_mdio: |
---|
.. | .. |
---|
1185 | 1187 | struct r6040_private *lp = netdev_priv(dev); |
---|
1186 | 1188 | |
---|
1187 | 1189 | unregister_netdev(dev); |
---|
| 1190 | + phy_disconnect(dev->phydev); |
---|
1188 | 1191 | mdiobus_unregister(lp->mii_bus); |
---|
1189 | 1192 | mdiobus_free(lp->mii_bus); |
---|
1190 | 1193 | netif_napi_del(&lp->napi); |
---|