Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Input: ps2-gpio - use IRQF_NO_AUTOEN flag in request_irq()

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>

authored by

Jinjie Ruan and committed by
Dmitry Torokhov
dcd18a3f 82abef59

+2 -4
+2 -4
drivers/input/serio/ps2-gpio.c
··· 429 429 } 430 430 431 431 error = devm_request_irq(dev, drvdata->irq, ps2_gpio_irq, 432 - IRQF_NO_THREAD, DRIVER_NAME, drvdata); 432 + IRQF_NO_THREAD | IRQF_NO_AUTOEN, DRIVER_NAME, 433 + drvdata); 433 434 if (error) { 434 435 dev_err(dev, "failed to request irq %d: %d\n", 435 436 drvdata->irq, error); 436 437 goto err_free_serio; 437 438 } 438 - 439 - /* Keep irq disabled until serio->open is called. */ 440 - disable_irq(drvdata->irq); 441 439 442 440 serio->id.type = SERIO_8042; 443 441 serio->open = ps2_gpio_open;