Bail out if reading the status register fails, otherwise we'll carry
on with a negative error code as if it were read from the keypad, and
falsely report events or errors.
Fixes: 9d2e173644bb ('Input: ADP5589 - new driver for I2C Keypad Decoder and
I/O Expander')
Signed-off-by: Guido Martínez <[email protected]>
---
drivers/input/keyboard/adp5589-keys.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/input/keyboard/adp5589-keys.c
b/drivers/input/keyboard/adp5589-keys.c
index a452677..19edd2d 100644
--- a/drivers/input/keyboard/adp5589-keys.c
+++ b/drivers/input/keyboard/adp5589-keys.c
@@ -622,6 +622,9 @@ static irqreturn_t adp5589_irq(int irq, void *handle)
status = adp5589_read(client, ADP5589_5_INT_STATUS);
+ if (status < 0)
+ return IRQ_HANDLED;
+
if (status & OVRFLOW_INT) /* Unlikely and should never happen */
dev_err(&client->dev, "Event Overflow Error\n");
--
2.1.4
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html