]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
net: fec: remove checking for NULL phy_dev in fec_enet_close()
authorRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 7 Jul 2014 23:22:54 +0000 (00:22 +0100)
committerNitin Garg <nitin.garg@freescale.com>
Fri, 16 Jan 2015 03:17:38 +0000 (21:17 -0600)
fep->phy_dev can not be NULL here for two reasons:
- fec_enet_open() will have successfully connected the phy, or will have
  failed.
- fec_enet_open() will have called phy_start(fep->phy_dev), which
  unconditionally dereferences this pointer.

If it were to be NULL here, then fec_enet_open() will have already
oopsed.

Acked-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/fec_main.c

index cb9ced7386075a81150345532e5a66e7e4666cbe..6a03d7eced4d50a1e2a458a1bcf3e3d8d8ec9c8a 100644 (file)
@@ -2184,10 +2184,8 @@ fec_enet_close(struct net_device *ndev)
        netif_tx_disable(ndev);
        fec_stop(ndev);
 
-       if (fep->phy_dev) {
-               phy_stop(fep->phy_dev);
-               phy_disconnect(fep->phy_dev);
-       }
+       phy_stop(fep->phy_dev);
+       phy_disconnect(fep->phy_dev);
 
        fec_enet_clk_enable(ndev, false);
        pinctrl_pm_select_sleep_state(&fep->pdev->dev);