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%3Ba=su...
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@vger.kernel.org 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@huawei.com 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@huawei.com Acked-by: Danilo Krummrich dakr@kernel.org Link: https://lore.kernel.org/r/20240912033013.2610949-1-ruanjinjie@huawei.com Signed-off-by: Dmitry Torokhov dmitry.torokhov@gmail.com Signed-off-by: Sasha Levin sashal@kernel.org
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,
if (error) { dev_err(dev, "failed to request irq %d: %d\n", drvdata->irq, error); goto err_free_serio; }drvdata);
- /* 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;