aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/can/kvaser_pciefd.c
diff options
context:
space:
mode:
authorZhang Qilong <zhangqilong3@huawei.com>2020-11-28 21:39:21 +0800
committerMarc Kleine-Budde <mkl@pengutronix.de>2020-11-30 12:43:55 +0100
commit44cef0c0ffbd8d61143712ce874be68a273b7884 (patch)
tree401ac60b5f06beac0212f43b9a2abdc1e1e4bb7f /drivers/net/can/kvaser_pciefd.c
parentcan: sun4i_can: sun4i_can_err(): don't count arbitration lose as an error (diff)
downloadlinux-dev-44cef0c0ffbd8d61143712ce874be68a273b7884.tar.xz
linux-dev-44cef0c0ffbd8d61143712ce874be68a273b7884.zip
can: c_can: c_can_power_up(): fix error handling
In the error handling in c_can_power_up(), there are two bugs: 1) c_can_pm_runtime_get_sync() will increase usage counter if device is not empty. Forgetting to call c_can_pm_runtime_put_sync() will result in a reference leak here. 2) c_can_reset_ram() operation will set start bit when enable is true. We should clear it in the error handling. We fix it by adding c_can_pm_runtime_put_sync() for 1), and c_can_reset_ram(enable is false) for 2) in the error handling. Fixes: 8212003260c60 ("can: c_can: Add d_can suspend resume support") Fixes: 52cde85acc23f ("can: c_can: Add d_can raminit support") Signed-off-by: Zhang Qilong <zhangqilong3@huawei.com> Link: https://lore.kernel.org/r/20201128133922.3276973-2-zhangqilong3@huawei.com [mkl: return "0" instead of "ret"] Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to 'drivers/net/can/kvaser_pciefd.c')
0 files changed, 0 insertions, 0 deletions