aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/can/kvaser_pciefd.c
diff options
context:
space:
mode:
authorZhang Qilong <zhangqilong3@huawei.com>2020-11-28 21:39:22 +0800
committerMarc Kleine-Budde <mkl@pengutronix.de>2020-11-30 12:43:55 +0100
commit13a84cf37a4cf1155a41684236c2314eb40cd65c (patch)
tree7b172ebff23503bb8b5b009690d891325ecdf74f /drivers/net/can/kvaser_pciefd.c
parentcan: c_can: c_can_power_up(): fix error handling (diff)
downloadlinux-dev-13a84cf37a4cf1155a41684236c2314eb40cd65c.tar.xz
linux-dev-13a84cf37a4cf1155a41684236c2314eb40cd65c.zip
can: kvaser_pciefd: kvaser_pciefd_open(): fix error handling
If kvaser_pciefd_bus_on() failed, we should call close_candev() to avoid reference leak. Fixes: 26ad340e582d3 ("can: kvaser_pciefd: Add driver for Kvaser PCIEcan devices") Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com> Link: https://lore.kernel.org/r/20201128133922.3276973-3-zhangqilong3@huawei.com Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to 'drivers/net/can/kvaser_pciefd.c')
-rw-r--r--drivers/net/can/kvaser_pciefd.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/can/kvaser_pciefd.c b/drivers/net/can/kvaser_pciefd.c
index 72acd1ba162d..43151dd6cb1c 100644
--- a/drivers/net/can/kvaser_pciefd.c
+++ b/drivers/net/can/kvaser_pciefd.c
@@ -692,8 +692,10 @@ static int kvaser_pciefd_open(struct net_device *netdev)
return err;
err = kvaser_pciefd_bus_on(can);
- if (err)
+ if (err) {
+ close_candev(netdev);
return err;
+ }
return 0;
}