diff options
author | Nathan Sullivan <nathan.sullivan@ni.com> | 2016-10-07 10:13:22 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-10-07 23:55:59 -0400 |
commit | fa6114d4bde70152765ba1c35fed4fcd8481faf6 (patch) | |
tree | 4ff4790b98de09d7a43ecaf26a00d64464b1c0d0 /drivers/net/ethernet | |
parent | 912e27e85e070596ed4964ebde29fa9781390f2a (diff) | |
download | linux-fa6114d4bde70152765ba1c35fed4fcd8481faf6.tar.bz2 |
net: macb: NULL out phydev after removing mdio bus
To ensure the dev->phydev pointer is not used after becoming invalid in
mdiobus_unregister, set it to NULL. This happens when removing the macb
driver without first taking its interface down, since unregister_netdev
will end up calling macb_close.
Signed-off-by: Xander Huff <xander.huff@ni.com>
Signed-off-by: Nathan Sullivan <nathan.sullivan@ni.com>
Signed-off-by: Brad Mouring <brad.mouring@ni.com>
Reviewed-by: Moritz Fischer <moritz.fischer@ettus.com>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r-- | drivers/net/ethernet/cadence/macb.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/cadence/macb.c b/drivers/net/ethernet/cadence/macb.c index 63144bb413d1..b32444a3ed79 100644 --- a/drivers/net/ethernet/cadence/macb.c +++ b/drivers/net/ethernet/cadence/macb.c @@ -3117,6 +3117,7 @@ static int macb_remove(struct platform_device *pdev) if (dev->phydev) phy_disconnect(dev->phydev); mdiobus_unregister(bp->mii_bus); + dev->phydev = NULL; mdiobus_free(bp->mii_bus); /* Shutdown the PHY if there is a GPIO reset */ |