I2C touchpad does not function after resuming from suspend

@pobrn I was using 5.8.12-3 from GitLab and touch pad is working with it. After updating to kernel 5.8.16-2 the touch pad stopped working. I tried with and without the polling enabled but nothing changed. With kernel 5.8.12-3 the touch pad is working fine. There is one thing with 5.8.12-3 that is strange though. Sometimes when I tap with two or three fingers the touch pad locks that tap and if you try to move the cursor it is scrolling constantly and I cannot click anything with one finger until I tap again with two or three fingers in order for the touch pad to release the tap lock.


Using a huawei matebook d14 which has a ELAN2204:00 04F3:30F5 Touchpad.

Noted on kernels 5.8 , 5.9 and even kernels before that the touchpad would freeze after resume from suspend. Its not consistent , sometimes it does not happen. When it happens, the touchpad may work for 30s then freeze.

Reloading the i2c_hid module doesn’t help. Adding the polling option just makes the touchpad completely unusable from start.

Would like to help troubleshoot if i can, though need guidance.

Thank you.

Hi, i’m searching for a beginner friendly way to get a working Touchoad on my Legion5. An ISO File would be great. I don’t want to try my luck with building a kernel.
Or can someone point me to a simple solution like… use this ISO and apply this patch?