summaryrefslogtreecommitdiffstats
path: root/drivers/input/keyboard/tc3589x-keypad.c
diff options
context:
space:
mode:
authorValentin Rothberg <Valentin.Rothberg@lip6.fr>2015-03-05 00:10:45 +0100
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2015-03-05 00:17:08 +0100
commit20f02d66f042f2b6a929519fd9ee62f77013ccaa (patch)
treeee1438b7dbad20037cdae5b132b7b62d34d2d6db /drivers/input/keyboard/tc3589x-keypad.c
parentInput: ALPS - fix memory leak when detection fails (diff)
downloadlinux-20f02d66f042f2b6a929519fd9ee62f77013ccaa.tar.xz
linux-20f02d66f042f2b6a929519fd9ee62f77013ccaa.zip
Input: tc3589x-keypad - set IRQF_ONESHOT flag to ensure IRQ request
Since commit 1c6c69525b40eb76de8adf039409722015927dc3 ("genirq: Reject bogus threaded irq requests") threaded IRQs without a primary handler need to be requested with IRQF_ONESHOT, otherwise the request will fail. Currently, plat->irqtype is only set to IRQF_TRIGGER_FALLING. This patch sets the ONESHOT flag directly in request_threaded_irq() to enforce the flag without being affected by future changes to plat->irqtype. Generated by: scripts/coccinelle/misc/irqf_oneshot.cocci Signed-off-by: Valentin Rothberg <Valentin.Rothberg@lip6.fr> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/input/keyboard/tc3589x-keypad.c')
-rw-r--r--drivers/input/keyboard/tc3589x-keypad.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/input/keyboard/tc3589x-keypad.c b/drivers/input/keyboard/tc3589x-keypad.c
index 8ff612d160b0..563932500ff1 100644
--- a/drivers/input/keyboard/tc3589x-keypad.c
+++ b/drivers/input/keyboard/tc3589x-keypad.c
@@ -411,9 +411,9 @@ static int tc3589x_keypad_probe(struct platform_device *pdev)
input_set_drvdata(input, keypad);
- error = request_threaded_irq(irq, NULL,
- tc3589x_keypad_irq, plat->irqtype,
- "tc3589x-keypad", keypad);
+ error = request_threaded_irq(irq, NULL, tc3589x_keypad_irq,
+ plat->irqtype | IRQF_ONESHOT,
+ "tc3589x-keypad", keypad);
if (error < 0) {
dev_err(&pdev->dev,
"Could not allocate irq %d,error %d\n",