Commit 47bba09b authored by Wenyuan Li's avatar Wenyuan Li Committed by Marc Kleine-Budde
Browse files

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: default avatarWenyuan Li <2063309626@qq.com>
Link: https://patch.msgid.link/tencent_B5E2E7528BB28AA8A2A56E16C49BD58B8B07@qq.com


Fixes: 57e83fb9 ("can: hi311x: Add Holt HI-311x CAN driver")
[mkl: adjust subject, commit message and jump label]
Signed-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
parent 1eea4690
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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;