Patch "Input: ps2-gpio - use IRQF_NO_AUTOEN flag in request_irq()" has been added to the 5.15-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.



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;




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux