aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDoug Berger <opendmb@gmail.com>2017-03-09 19:58:46 -0500
committerDavid S. Miller <davem@davemloft.net>2017-03-09 21:39:01 -0500
commit7627409cc4970e8c8b9de6945ad86a575290a94e (patch)
tree93bbc395d16f65147b9b928cd058ee2387ebdab4
parenteca4bad73409aedc6ff22f823c18b67a4f08c851 (diff)
net: bcmgenet: power down internal phy if open or resume fails
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>
-rw-r--r--drivers/net/ethernet/broadcom/genet/bcmgenet.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
index 99f8d9024633..475dc14931af 100644
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
@@ -2850,6 +2850,8 @@ err_irq0:
2850err_fini_dma: 2850err_fini_dma:
2851 bcmgenet_fini_dma(priv); 2851 bcmgenet_fini_dma(priv);
2852err_clk_disable: 2852err_clk_disable:
2853 if (priv->internal_phy)
2854 bcmgenet_power_down(priv, GENET_POWER_PASSIVE);
2853 clk_disable_unprepare(priv->clk); 2855 clk_disable_unprepare(priv->clk);
2854 return ret; 2856 return ret;
2855} 2857}
@@ -3551,6 +3553,8 @@ static int bcmgenet_resume(struct device *d)
3551 return 0; 3553 return 0;
3552 3554
3553out_clk_disable: 3555out_clk_disable:
3556 if (priv->internal_phy)
3557 bcmgenet_power_down(priv, GENET_POWER_PASSIVE);
3554 clk_disable_unprepare(priv->clk); 3558 clk_disable_unprepare(priv->clk);
3555 return ret; 3559 return ret;
3556} 3560}