]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
net: ag71xx: add missed clk_disable_unprepare in error path of probe
authorHuang Guobin <huangguobin4@huawei.com>
Mon, 20 Jul 2020 01:46:14 +0000 (21:46 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 29 Jul 2020 08:18:33 +0000 (10:18 +0200)
[ Upstream commit befc113c56a76ae7be3986034a0e476d3385e265 ]

The ag71xx_mdio_probe() forgets to call clk_disable_unprepare() when
of_reset_control_get_exclusive() failed. Add the missed call to fix it.

Fixes: d51b6ce441d3 ("net: ethernet: add ag71xx driver")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Huang Guobin <huangguobin4@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/atheros/ag71xx.c

index 1b1a09095c0dcfc3a40d127d306349e4ec690b26..78e20f53677d5301844d2bb5e29d10433d8ae91e 100644 (file)
@@ -553,7 +553,8 @@ static int ag71xx_mdio_probe(struct ag71xx *ag)
        ag->mdio_reset = of_reset_control_get_exclusive(np, "mdio");
        if (IS_ERR(ag->mdio_reset)) {
                netif_err(ag, probe, ndev, "Failed to get reset mdio.\n");
-               return PTR_ERR(ag->mdio_reset);
+               err = PTR_ERR(ag->mdio_reset);
+               goto mdio_err_put_clk;
        }
 
        mii_bus->name = "ag71xx_mdio";