From: Markus Schneider-Pargmann Date: Mon, 5 Aug 2024 18:30:45 +0000 (+0200) Subject: can: m_can: disable_all_interrupts, not clear active_interrupts X-Git-Tag: v6.11-rc7~26^2~23^2~3^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a572fea86c9b06cd3e6e89d79d565b52cb7e7cff;p=thirdparty%2Flinux.git can: m_can: disable_all_interrupts, not clear active_interrupts active_interrupts is a cache for the enabled interrupts and not the global masking of interrupts. Do not clear this variable otherwise we may loose the state of the interrupts. Fixes: 07f25091ca02 ("can: m_can: Implement receive coalescing") Signed-off-by: Markus Schneider-Pargmann Link: https://lore.kernel.org/all/20240805183047.305630-6-msp@baylibre.com Signed-off-by: Marc Kleine-Budde --- diff --git a/drivers/net/can/m_can/m_can.c b/drivers/net/can/m_can/m_can.c index 5228304779f19..68bd4a00eccaa 100644 --- a/drivers/net/can/m_can/m_can.c +++ b/drivers/net/can/m_can/m_can.c @@ -483,7 +483,6 @@ static inline void m_can_disable_all_interrupts(struct m_can_classdev *cdev) { m_can_coalescing_disable(cdev); m_can_write(cdev, M_CAN_ILE, 0x0); - cdev->active_interrupts = 0x0; if (!cdev->net->irq) { dev_dbg(cdev->dev, "Stop hrtimer\n");