request_threaded_irq() without a hard IRQ handler can only be used, if the
driver also requests to keep the interrupt masked by using the IRQF_ONESHOT
IRQ flag.
Signed-off-by: Guennadi Liakhovetski <redacted>
---
This has to go to 3.5 to fix otherwise broken platforms.
drivers/input/keyboard/tca6416-keypad.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/input/keyboard/tca6416-keypad.c b/drivers/input/keyboard/tca6416-keypad.c
index 3afea3f..4559859 100644
--- a/drivers/input/keyboard/tca6416-keypad.c
+++ b/drivers/input/keyboard/tca6416-keypad.c
@@ -278,7 +278,7 @@ static int __devinit tca6416_keypad_probe(struct i2c_client *client,
error = request_threaded_irq(chip->irqnum, NULL,
tca6416_keys_isr,
- IRQF_TRIGGER_FALLING,
+ IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
"tca6416-keypad", chip);
if (error) {
dev_dbg(&client->dev,--
1.7.2.5