Skip to content

Commit

Permalink
can: softing: softing_netdev_open(): fix error handling
Browse files Browse the repository at this point in the history
[ Upstream commit 4d1be58 ]

If softing_netdev_open() fails, we should call close_candev() to avoid
reference leak.

Fixes: 03fd3cf ("can: add driver for Softing card")
Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com>
Acked-by: Kurt Van Dijck <dev.kurt@vandijck-laurijssen.be>
Link: https://lore.kernel.org/r/20201202151632.1343786-1-zhangqilong3@huawei.com
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Link: https://lore.kernel.org/r/20201204133508.742120-2-mkl@pengutronix.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
  • Loading branch information
Zhang Qilong authored and gregkh committed Dec 30, 2020
1 parent 36f460d commit 43a3734
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions drivers/net/can/softing/softing_main.c
Expand Up @@ -382,8 +382,13 @@ static int softing_netdev_open(struct net_device *ndev)

/* check or determine and set bittime */
ret = open_candev(ndev);
if (!ret)
ret = softing_startstop(ndev, 1);
if (ret)
return ret;

ret = softing_startstop(ndev, 1);
if (ret < 0)
close_candev(ndev);

return ret;
}

Expand Down

0 comments on commit 43a3734

Please sign in to comment.