net: ethernet: lpc_eth: Handle error for clk_enable
authorJiasheng Jiang <jiasheng@iscas.ac.cn>
Tue, 8 Mar 2022 06:57:39 +0000 (14:57 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 16 Mar 2022 13:23:38 +0000 (14:23 +0100)
[ Upstream commit 2169b79258c8be803d2595d6456b1e77129fe154 ]

As the potential failure of the clk_enable(),
it should be better to check it and return error
if fails.

Fixes: b7370112f519 ("lpc32xx: Added ethernet driver")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/nxp/lpc_eth.c

index c910fa2f40a4bc710d63a5411b8a9c679c0b05a4..919140522885d511e98e3bb79561295b7bc3757f 100644 (file)
@@ -1469,6 +1469,7 @@ static int lpc_eth_drv_resume(struct platform_device *pdev)
 {
        struct net_device *ndev = platform_get_drvdata(pdev);
        struct netdata_local *pldat;
+       int ret;
 
        if (device_may_wakeup(&pdev->dev))
                disable_irq_wake(ndev->irq);
@@ -1478,7 +1479,9 @@ static int lpc_eth_drv_resume(struct platform_device *pdev)
                        pldat = netdev_priv(ndev);
 
                        /* Enable interface clock */
-                       clk_enable(pldat->clk);
+                       ret = clk_enable(pldat->clk);
+                       if (ret)
+                               return ret;
 
                        /* Reset and initialize */
                        __lpc_eth_reset(pldat);