Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

HID: intel-thc-hid: Intel-quicki2c: Enhance driver re-install flow

After driver module is removed and during re-install stage, if there
is continueous user touching on the screen, it is a risk impacting
THC hardware initialization which causes driver installation failure.

This patch enhances this flow by quiescing the external touch
interrupt after driver is removed which keeps THC hardware
ignore external interrupt during this remove and re-install stage.

Signed-off-by: Even Xu <even.xu@intel.com>
Tested-by: Rui Zhang <rui1.zhang@intel.com>
Fixes: 66b59bfce6d9 ("HID: intel-thc-hid: intel-quicki2c: Complete THC QuickI2C driver")
Signed-off-by: Jiri Kosina <jkosina@suse.com>

authored by

Even Xu and committed by
Jiri Kosina
afa17a09 185c9262

+1
+1
drivers/hid/intel-thc-hid/intel-quicki2c/pci-quicki2c.c
··· 419 419 */ 420 420 static void quicki2c_dev_deinit(struct quicki2c_device *qcdev) 421 421 { 422 + thc_interrupt_quiesce(qcdev->thc_hw, true); 422 423 thc_interrupt_enable(qcdev->thc_hw, false); 423 424 thc_ltr_unconfig(qcdev->thc_hw); 424 425 thc_wot_unconfig(qcdev->thc_hw);