[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2804881.mvXUDI8C0e@jernej-laptop>
Date: Sun, 16 Nov 2025 17:20:37 +0100
From: Jernej Škrabec <jernej.skrabec@...il.com>
To: Vincent Mailhol <mailhol@...nel.org>, Chen-Yu Tsai <wens@...e.org>,
Samuel Holland <samuel@...lland.org>,
Gerhard Bertelsmann <info@...hard-bertelsmann.de>,
Maxime Ripard <mripard@...nel.org>, Marc Kleine-Budde <mkl@...gutronix.de>
Cc: kernel@...gutronix.de, linux-can@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-sunxi@...ts.linux.dev,
linux-kernel@...r.kernel.org, stable@...r.kernel.org,
Thomas Mühlbacher <tmuehlbacher@...teo.net>,
Marc Kleine-Budde <mkl@...gutronix.de>
Subject:
Re: [PATCH can] can: sun4i_can: sun4i_can_interrupt(): fix max irq loop
handling
Dne nedelja, 16. november 2025 ob 16:55:26 Srednjeevropski standardni čas je Marc Kleine-Budde napisal(a):
> Reading the interrupt register `SUN4I_REG_INT_ADDR` causes all of its bits
> to be reset. If we ever reach the condition of handling more than
> `SUN4I_CAN_MAX_IRQ` IRQs, we will have read the register and reset all its
> bits but without actually handling the interrupt inside of the loop body.
>
> This may, among other issues, cause us to never `netif_wake_queue()` again
> after a transmission interrupt.
>
> Fixes: 0738eff14d81 ("can: Allwinner A10/A20 CAN Controller support - Kernel module")
> Cc: stable@...r.kernel.org
> Co-developed-by: Thomas Mühlbacher <tmuehlbacher@...teo.net>
> Signed-off-by: Thomas Mühlbacher <tmuehlbacher@...teo.net>
> Signed-off-by: Marc Kleine-Budde <mkl@...gutronix.de>
> ---
> I've ported the fix from the sja1000 driver to the sun4i_can, which based
> on the sja1000 driver.
Acked-by: Jernej Skrabec <jernej.skrabec@...il.com>
Best regards,
Jernej
Powered by blists - more mailing lists