diff options
author | Alexey Khoroshilov <khoroshilov@ispras.ru> | 2019-01-26 22:48:57 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-01-28 10:03:38 +0300 |
commit | c69c29a1a0a8f68cd87e98ba4a5a79fb8ef2a58c (patch) | |
tree | 37cc3609ae7bb45dc80cbf4f6af770deab3c325f /drivers/net/ethernet/stmicro | |
parent | 417c8045c1e9d1a8697052342606ed596835e5e5 (diff) | |
download | linux-c69c29a1a0a8f68cd87e98ba4a5a79fb8ef2a58c.tar.xz |
net: stmmac: dwmac-rk: fix error handling in rk_gmac_powerup()
If phy_power_on() fails in rk_gmac_powerup(), clocks are left enabled.
Found by Linux Driver Verification project (linuxtesting.org).
Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/stmicro')
-rw-r--r-- | drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c index 7b923362ee55..3b174eae77c1 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c @@ -1342,8 +1342,10 @@ static int rk_gmac_powerup(struct rk_priv_data *bsp_priv) } ret = phy_power_on(bsp_priv, true); - if (ret) + if (ret) { + gmac_clk_enable(bsp_priv, false); return ret; + } pm_runtime_enable(dev); pm_runtime_get_sync(dev); |