Input: iqs269a - increase interrupt handler return delay
authorJeff LaBundy <jeff@labundy.com>
Tue, 3 Jan 2023 17:58:59 +0000 (11:58 -0600)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 11 Jan 2023 00:56:27 +0000 (16:56 -0800)
The time the device takes to deassert its RDY output following an
I2C stop condition scales with the core clock frequency.

To prevent level-triggered interrupts from being reasserted after
the interrupt handler returns, increase the time before returning
to account for the worst-case delay (~140 us) plus margin.

Fixes: 04e49867fad1 ("Input: add support for Azoteq IQS269A")
Signed-off-by: Jeff LaBundy <jeff@labundy.com>
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Link: https://lore.kernel.org/r/Y7Rs484ypy4dab5G@nixie71
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/misc/iqs269a.c

index 7cda4a9..e299b22 100644 (file)
 #define IQS269_PWR_MODE_POLL_SLEEP_US          IQS269_ATI_POLL_SLEEP_US
 #define IQS269_PWR_MODE_POLL_TIMEOUT_US                IQS269_ATI_POLL_TIMEOUT_US
 
-#define iqs269_irq_wait()                      usleep_range(100, 150)
+#define iqs269_irq_wait()                      usleep_range(200, 250)
 
 enum iqs269_local_cap_size {
        IQS269_LOCAL_CAP_SIZE_0,