On Mon, Sep 30, 2024 at 08:28:59PM -0400, Sasha Levin wrote: > This is a note to let you know that I've just added the patch titled > > Input: ps2-gpio - use IRQF_NO_AUTOEN flag in request_irq() > > to the 5.15-stable tree which can be found at: > http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary > > The filename of the patch is: > input-ps2-gpio-use-irqf_no_autoen-flag-in-request_ir.patch > and it can be found in the queue-5.15 subdirectory. > > If you, or anyone else, feels it should not be added to the stable tree, > please let <stable@xxxxxxxxxxxxxxx> know about it. For the love of God, why? Why does this pure cleanup type of change needs to be in stable? > > > > commit 2d007ddec282076923c4d84d6b12858b9f44594a > Author: Jinjie Ruan <ruanjinjie@xxxxxxxxxx> > Date: Thu Sep 12 11:30:13 2024 +0800 > > Input: ps2-gpio - use IRQF_NO_AUTOEN flag in request_irq() > > [ Upstream commit dcd18a3fb1228409dfc24373c5c6868a655810b0 ] > > disable_irq() after request_irq() still has a time gap in which > interrupts can come. request_irq() with IRQF_NO_AUTOEN flag will > disable IRQ auto-enable when request IRQ. > > Fixes: 9ee0a0558819 ("Input: PS/2 gpio bit banging driver for serio bus") > Signed-off-by: Jinjie Ruan <ruanjinjie@xxxxxxxxxx> > Acked-by: Danilo Krummrich <dakr@xxxxxxxxxx> > Link: https://lore.kernel.org/r/20240912033013.2610949-1-ruanjinjie@xxxxxxxxxx > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> > Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx> > > diff --git a/drivers/input/serio/ps2-gpio.c b/drivers/input/serio/ps2-gpio.c > index 8970b49ea09a2..b0238a8b5c210 100644 > --- a/drivers/input/serio/ps2-gpio.c > +++ b/drivers/input/serio/ps2-gpio.c > @@ -374,16 +374,14 @@ static int ps2_gpio_probe(struct platform_device *pdev) > } > > error = devm_request_irq(dev, drvdata->irq, ps2_gpio_irq, > - IRQF_NO_THREAD, DRIVER_NAME, drvdata); > + IRQF_NO_THREAD | IRQF_NO_AUTOEN, DRIVER_NAME, > + drvdata); > if (error) { > dev_err(dev, "failed to request irq %d: %d\n", > drvdata->irq, error); > goto err_free_serio; > } > > - /* Keep irq disabled until serio->open is called. */ > - disable_irq(drvdata->irq); > - > serio->id.type = SERIO_8042; > serio->open = ps2_gpio_open; > serio->close = ps2_gpio_close; -- Dmitry