net: bcmgenet: power down internal phy if open or resume fails
authorDoug Berger <opendmb@gmail.com>
Fri, 10 Mar 2017 00:58:46 +0000 (16:58 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 10 Mar 2017 02:39:01 +0000 (18:39 -0800)
Since the internal PHY is powered up during the open and resume
functions it should be powered back down if the functions fail.

Fixes: 1c1008c793fa ("net: bcmgenet: add main driver file")
Signed-off-by: Doug Berger <opendmb@gmail.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/genet/bcmgenet.c

index 99f8d90246331b1c8756c00d7dc0378cdabd3cda..475dc14931af14e031c6cf31b074a05baee72370 100644 (file)
@@ -2850,6 +2850,8 @@ err_irq0:
 err_fini_dma:
        bcmgenet_fini_dma(priv);
 err_clk_disable:
+       if (priv->internal_phy)
+               bcmgenet_power_down(priv, GENET_POWER_PASSIVE);
        clk_disable_unprepare(priv->clk);
        return ret;
 }
@@ -3551,6 +3553,8 @@ static int bcmgenet_resume(struct device *d)
        return 0;
 
 out_clk_disable:
+       if (priv->internal_phy)
+               bcmgenet_power_down(priv, GENET_POWER_PASSIVE);
        clk_disable_unprepare(priv->clk);
        return ret;
 }