Input: nspire-keypad - enable interrupts only when opened
authorFabian Vogt <fabian@ritter-vogt.de>
Tue, 23 Mar 2021 17:45:55 +0000 (10:45 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 23 Mar 2021 17:55:10 +0000 (10:55 -0700)
commit69d5ff3e9e51e23d5d81bf48480aa5671be67a71
tree3e84fb37d612c9c26697a49e2b5e9a50db2d23e0
parentdaa58c8eec0a65ac8e2e77ff3ea8a233d8eec954
Input: nspire-keypad - enable interrupts only when opened

The driver registers an interrupt handler in _probe, but didn't configure
them until later when the _open function is called. In between, the keypad
can fire an IRQ due to touchpad activity, which the handler ignores. This
causes the kernel to disable the interrupt, blocking the keypad from
working.

Fix this by disabling interrupts before registering the handler.
Additionally, disable them in _close, so that they're only enabled while
open.

Fixes: fc4f31461892 ("Input: add TI-Nspire keypad support")
Signed-off-by: Fabian Vogt <fabian@ritter-vogt.de>
Link: https://lore.kernel.org/r/3383725.iizBOSrK1V@linux-e202.suse.de
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/keyboard/nspire-keypad.c