Przeglądaj źródła

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>
Doug Berger 8 lat temu
rodzic
commit
7627409cc4
1 zmienionych plików z 4 dodań i 0 usunięć
  1. 4 0
      drivers/net/ethernet/broadcom/genet/bcmgenet.c

+ 4 - 0
drivers/net/ethernet/broadcom/genet/bcmgenet.c

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