projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
a54ba34
)
can: softing: softing_netdev_open(): fix error handling
author
Zhang Qilong
<zhangqilong3@huawei.com>
Fri, 4 Dec 2020 13:35:06 +0000
(14:35 +0100)
committer
Jakub Kicinski
<kuba@kernel.org>
Sat, 5 Dec 2020 21:08:11 +0000
(13:08 -0800)
If softing_netdev_open() fails, we should call close_candev() to avoid
reference leak.
Fixes: 03fd3cf5a179d ("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>
drivers/net/can/softing/softing_main.c
patch
|
blob
|
history
diff --git
a/drivers/net/can/softing/softing_main.c
b/drivers/net/can/softing/softing_main.c
index 9d2faaa39ce41fb0ecabb76777933d3afb56344d..c9ca8b9fceb9c254dee0d8e6344fab93cdf65dd2 100644
(file)
--- a/
drivers/net/can/softing/softing_main.c
+++ b/
drivers/net/can/softing/softing_main.c
@@
-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;
}