Bug 214775

Summary: IRQ storm after resume from S3 on ELAN touchpad on Thinkpad X1 Carbon Gen9
Product: Drivers Reporter: Thomas Weißschuh (linux)
Component: I2CAssignee: Drivers/I2C virtual user (drivers-i2c)
Status: RESOLVED CODE_FIX    
Severity: normal CC: linux, nico-bugzilla.kernel.org
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 5.14.13, 5.15-rc5 Subsystem:
Regression: No Bisected commit-id:
Attachments: interrupts after resume
lspci -vvnn
ACPI DSDT tale
I2C layout 1
I2C layout 2
dmesg from cooldboot - suspend - resume cycle

Description Thomas Weißschuh 2021-10-20 15:19:15 UTC
After resuming from S3 sleep the ELAN0673:00 04F3:3188 Touchpad in my ThinkPad X1 Carbon Gen9 triggers an IRQ storm.
This IRQ storm makes the normal touchpad operations really jumpy.
I observed the IRQ storm by watch /proc/interrupts and by adding a print statement to i2c_hid_irq().

(Please note that S3 sleep is not the default on this machine and has to be enabled first in the firmware setup).

Attached are various logfiles.
Comment 1 Thomas Weißschuh 2021-10-20 15:19:44 UTC
Created attachment 299263 [details]
interrupts after resume
Comment 2 Thomas Weißschuh 2021-10-20 15:20:02 UTC
Created attachment 299265 [details]
lspci -vvnn
Comment 3 Thomas Weißschuh 2021-10-20 15:20:48 UTC
Created attachment 299267 [details]
ACPI DSDT tale
Comment 4 Thomas Weißschuh 2021-10-20 15:21:26 UTC
Created attachment 299269 [details]
I2C layout 1
Comment 5 Thomas Weißschuh 2021-10-20 15:21:49 UTC
Created attachment 299271 [details]
I2C layout 2
Comment 6 Thomas Weißschuh 2021-10-20 15:23:44 UTC
Created attachment 299273 [details]
dmesg from cooldboot - suspend - resume cycle
Comment 7 Thomas Weißschuh 2021-10-20 22:24:03 UTC
According to Lenovo this is a known issue and will require an update of the Touchpad Firmware to be fixed.
For the time being S3 sleep is not supported and s2idle should be used instead.
Comment 8 Nico Schottelius 2022-04-09 21:18:44 UTC
*** Bug 215747 has been marked as a duplicate of this bug. ***
Comment 9 Thomas Weißschuh 2022-05-26 00:24:04 UTC
This seems to have been solved with system firmware 1.52.