mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-30 11:54:32 -04:00
can: hi311x: hi3110_open(): add check for hi3110_power_enable() return value
In hi3110_open(), the return value of hi3110_power_enable() is not checked.
If power enable fails, the device may not function correctly, while the
driver still returns success.
Add a check for the return value and propagate the error accordingly.
Signed-off-by: Wenyuan Li <2063309626@qq.com>
Link: https://patch.msgid.link/tencent_B5E2E7528BB28AA8A2A56E16C49BD58B8B07@qq.com
Fixes: 57e83fb9b7 ("can: hi311x: Add Holt HI-311x CAN driver")
[mkl: adjust subject, commit message and jump label]
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
This commit is contained in:
committed by
Marc Kleine-Budde
parent
1eea46908c
commit
47bba09b14
@@ -755,7 +755,9 @@ static int hi3110_open(struct net_device *net)
|
||||
return ret;
|
||||
|
||||
mutex_lock(&priv->hi3110_lock);
|
||||
hi3110_power_enable(priv->transceiver, 1);
|
||||
ret = hi3110_power_enable(priv->transceiver, 1);
|
||||
if (ret)
|
||||
goto out_close_candev;
|
||||
|
||||
priv->force_quit = 0;
|
||||
priv->tx_skb = NULL;
|
||||
@@ -790,6 +792,7 @@ static int hi3110_open(struct net_device *net)
|
||||
hi3110_hw_sleep(spi);
|
||||
out_close:
|
||||
hi3110_power_enable(priv->transceiver, 0);
|
||||
out_close_candev:
|
||||
close_candev(net);
|
||||
mutex_unlock(&priv->hi3110_lock);
|
||||
return ret;
|
||||
|
||||
Reference in New Issue
Block a user