can: m_can: Release irq on error in m_can_open
authorSimon Horman <horms@kernel.org>
Mon, 5 Aug 2024 14:01:58 +0000 (15:01 +0100)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Tue, 6 Aug 2024 07:25:12 +0000 (09:25 +0200)
commit06d4ef3056a7ac31be331281bb7a6302ef5a7f8a
treeec67f37dfe46668a654830328675b6f97ebb050b
parent76fe372ccb81b0c89b6cd2fec26e2f38c958be85
can: m_can: Release irq on error in m_can_open

It appears that the irq requested in m_can_open() may be leaked
if an error subsequently occurs: if m_can_start() fails.

Address this by calling free_irq in the unwind path for
such cases.

Flagged by Smatch.
Compile tested only.

Fixes: eaacfeaca7ad ("can: m_can: Call the RAM init directly from m_can_chip_config")
Acked-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Simon Horman <horms@kernel.org>
Link: https://lore.kernel.org/all/20240805-mcan-irq-v2-1-7154c0484819@kernel.org
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/m_can/m_can.c