On Fri, May 02, 2025 at 09:24:20AM +0000, Sverdlin, Alexander wrote: > Dear maintainers, > > On Mon, 2025-03-31 at 18:36 +0200, A. Sverdlin wrote: > > From: Alexander Sverdlin > > > > Enable/disable seems to be racy on SMP, consider the following scenario: > > > > CPU0 CPU1 > > > > interrupt_cnt_enable_write(true) > > { > > if (priv->enabled == enable) > > return 0; > > > > if (enable) { > > priv->enabled = true; > > interrupt_cnt_enable_write(false) > > { > > if (priv->enabled == enable) > > return 0; > > > > if (enable) { > > priv->enabled = true; > > enable_irq(priv->irq); > > } else { > > disable_irq(priv->irq) > > priv->enabled = false; > > } > > enable_irq(priv->irq); > > } else { > > disable_irq(priv->irq); > > priv->enabled = false; > > } > > > > The above would result in priv->enabled == false, but IRQ left enabled. > > Protect both write (above race) and read (to propagate the value on SMP) > > callbacks with a mutex. > > > > Signed-off-by: Alexander Sverdlin > > I've noticed that the patch has been marked as "Changes Requested" in > the patchwork, could it be a mistake? Because I never received any > change request. Hi Alexander, I can't comment on the patchwork status because I don't use that service, but I apologize nonetheless for the delay in responding to your patch submission. I'm hoping for an Ack from Oleksij, but this is a pretty straight-forward fix that I'll be happy to pick it up regardless. Would you provide a Fixes line so the stable trees can pick this up for the necessary kernel versions? Thanks, William Breathitt Gray