| From bdd7adb680a62a336f29685ef07f56dea4aa0602 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 8 Mar 2022 14:57:39 +0800 |
| Subject: net: ethernet: lpc_eth: Handle error for clk_enable |
| |
| From: Jiasheng Jiang <jiasheng@iscas.ac.cn> |
| |
| [ 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 | 5 ++++- |
| 1 file changed, 4 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/net/ethernet/nxp/lpc_eth.c b/drivers/net/ethernet/nxp/lpc_eth.c |
| index ad7b9772a4b2..78f34e87212a 100644 |
| --- a/drivers/net/ethernet/nxp/lpc_eth.c |
| +++ b/drivers/net/ethernet/nxp/lpc_eth.c |
| @@ -1515,6 +1515,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); |
| @@ -1524,7 +1525,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); |
| -- |
| 2.34.1 |
| |