Re: [PATCH can] can: sun4i_can: sun4i_can_interrupt(): fix max irq loop handling
From: Marc Kleine-Budde
Date: Sun Nov 16 2025 - 11:26:35 EST
On 16.11.2025 17:20:37, Jernej Škrabec wrote:
> 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@xxxxxxxxxxxxxxx
> > Co-developed-by: Thomas Mühlbacher <tmuehlbacher@xxxxxxxxxx>
> > Signed-off-by: Thomas Mühlbacher <tmuehlbacher@xxxxxxxxxx>
> > Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx>
> > ---
> > 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@xxxxxxxxx>
Thank you very much! I have seen a lot of feedback from you about the
sun4i driver. Would you like to become the maintainer of the driver?
regards,
Marc
--
Pengutronix e.K. | Marc Kleine-Budde |
Embedded Linux | https://www.pengutronix.de |
Vertretung Nürnberg | Phone: +49-5121-206917-129 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 |
Attachment:
signature.asc
Description: PGP signature