[1.] One line summary of the problem: Touchpad does not work after suspend on Lenovo X1 Carbon 6th [2.] Full description of the problem/report: Touchpad and trackpoint are correctly detected and work perfectly fine when the laptop powers up. After closing the lid, it goes into S3 suspend mode. After waking up, in most cases the touchpad and trackpoint stop working. Sometimes one of them works, sometimes both, seems very random. Tested on freshly compiled 5.7-rc3 kernel, same thing seems to happen on older versions as well (including stable - I tried Ubuntu 18.04, 20.04 and Fedora 31 and 32 with their built-in kernels). Doing rmmod and modprobe on psmouse module once or twice brings back the devices to life. dmesg shows some additional issues when using the touchpad as well. I'm ready to test whatever fixes you come up with, the laptop isn't currently being used, can be turned into full time testing machine to finally fix this issue. [4.] Kernel information [4.1.] Kernel version (from /proc/version): Linux version 5.7.0-rc3 (maciej@skynet) (gcc version 9.3.0 (Ubuntu 9.3.0-10ubuntu2), GNU ld (GNU Binutils for Ubuntu) 2.34) #1 SMP Fri May 1 17:07:39 CEST 2020 [4.2.] Kernel .config file: Attached as config file. [5.] Most recent kernel version which did not have the bug: None found [6.] Output of Oops.. message (if applicable) with symbolic information resolved (see Documentation/admin-guide/bug-hunting.rst) Not applicable [7.] A small shell script or example program which triggers the problem (if possible) systemctl suspend or closing the lid, then waking the laptop [8.] Environment [8.1.] Software (add the output of the ver_linux script here) Linux skynet 5.7.0-rc3 #1 SMP Fri May 1 17:07:39 CEST 2020 x86_64 x86_64 x86_64 GNU/Linux GNU Make 4.2.1 Binutils 2.34 Util-linux 2.34 Mount 2.34 Module-init-tools 27 E2fsprogs 1.45.5 Pcmciautils 018 PPP 2.4.7 Bison 3.5.1 Flex 2.6.4 Linux C++ Library 6.0.28 Linux C Library 2.31 Dynamic linker (ldd) 2.31 Kbd 2.0.4 Console-tools 2.0.4 Sh-utils 8.30 Udev 245 Wireless-tools 30 Modules Loaded acpi_pad acpi_thermal_rel aesni_intel autofs4 ccm cec cfg80211 coretemp crc32_pclmul crct10dif_pclmul cryptd crypto_simd drm drm_kms_helper e1000e efi_pstore fb_sys_fops ghash_clmulni_intel glue_helper hid i2c_algo_bit i2c_hid i2c_i801 i915 input_leds int3400_thermal int3403_thermal int340x_thermal_zone intel_cstate intel_pch_thermal intel_powerclamp intel_rapl_common intel_rapl_msr intel_rapl_perf intel_soc_dts_iosf intel_wmi_thunderbolt intel_xhci_usb_role_switch ip_tables iwlmvm iwlwifi joydev kvm kvm_intel ledtrig_audio libarc4 lp mac80211 mac_hid mc mei mei_hdcp mei_me msr nls_iso8859_1 nvme nvme_core nvram parport parport_pc ppdev processor_thermal_device psmouse rmi_core rmi_smbus roles sch_fq_codel serio_raw snd snd_hda_codec snd_hda_codec_generic snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_core snd_hda_intel snd_hwdep snd_intel_dspcfg snd_pcm snd_rawmidi snd_seq snd_seq_device snd_seq_midi snd_seq_midi_event snd_timer soundcore syscopyarea sysfillrect sysimgblt thinkpad_acpi typec typec_ucsi ucsi_acpi uvcvideo video videobuf2_common videobuf2_memops videobuf2_v4l2 videobuf2_vmalloc videodev wmi wmi_bmof x86_pkg_temp_thermal x_tables [8.2.] Processor information (from /proc/cpuinfo): 8 times this: processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 142 model name : Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz stepping : 10 microcode : 0xca cpu MHz : 800.019 cache size : 8192 KB physical id : 0 siblings : 8 core id : 0 cpu cores : 4 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 22 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d vmx flags : vnmi preemption_timer invvpid ept_x_only ept_ad ept_1gb flexpriority tsc_offset vtpr mtf vapic ept vpid unrestricted_guest ple pml ept_mode_based_exec bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit bogomips : 3999.93 clflush size : 64 cache_alignment : 64 address sizes : 39 bits physical, 48 bits virtual power management: [8.3.] Module information (from /proc/modules): psmouse 155648 0 - Live 0x0000000000000000 ccm 20480 3 - Live 0x0000000000000000 snd_hda_codec_hdmi 61440 1 - Live 0x0000000000000000 snd_hda_codec_realtek 118784 1 - Live 0x0000000000000000 snd_hda_codec_generic 81920 1 snd_hda_codec_realtek, Live 0x0000000000000000 x86_pkg_temp_thermal 20480 0 - Live 0x0000000000000000 intel_powerclamp 20480 0 - Live 0x0000000000000000 coretemp 20480 0 - Live 0x0000000000000000 i915 2174976 13 - Live 0x0000000000000000 msr 16384 0 - Live 0x0000000000000000 iwlmvm 389120 0 - Live 0x0000000000000000 kvm_intel 282624 0 - Live 0x0000000000000000 snd_hda_intel 53248 3 - Live 0x0000000000000000 snd_intel_dspcfg 24576 1 snd_hda_intel, Live 0x0000000000000000 mac80211 892928 1 iwlmvm, Live 0x0000000000000000 kvm 700416 1 kvm_intel, Live 0x0000000000000000 joydev 24576 0 - Live 0x0000000000000000 snd_hda_codec 139264 4 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_codec_generic,snd_hda_intel, Live 0x0000000000000000 snd_hda_core 94208 5 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_codec_generic,snd_hda_intel,snd_hda_codec, Live 0x0000000000000000 libarc4 16384 1 mac80211, Live 0x0000000000000000 iwlwifi 348160 1 iwlmvm, Live 0x0000000000000000 snd_hwdep 20480 1 snd_hda_codec, Live 0x0000000000000000 mei_hdcp 24576 0 - Live 0x0000000000000000 snd_pcm 114688 4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core, Live 0x0000000000000000 rmi_smbus 16384 0 - Live 0x0000000000000000 intel_rapl_msr 20480 0 - Live 0x0000000000000000 crct10dif_pclmul 16384 1 - Live 0x0000000000000000 uvcvideo 98304 0 - Live 0x0000000000000000 ghash_clmulni_intel 16384 0 - Live 0x0000000000000000 rmi_core 81920 1 rmi_smbus, Live 0x0000000000000000 nls_iso8859_1 16384 1 - Live 0x0000000000000000 snd_seq_midi 20480 0 - Live 0x0000000000000000 drm_kms_helper 217088 1 i915, Live 0x0000000000000000 snd_seq_midi_event 16384 1 snd_seq_midi, Live 0x0000000000000000 videobuf2_vmalloc 20480 2 uvcvideo,rmi_core, Live 0x0000000000000000 videobuf2_memops 20480 1 videobuf2_vmalloc, Live 0x0000000000000000 snd_rawmidi 36864 1 snd_seq_midi, Live 0x0000000000000000 videobuf2_v4l2 24576 2 uvcvideo,rmi_core, Live 0x0000000000000000 videobuf2_common 53248 3 uvcvideo,rmi_core,videobuf2_v4l2, Live 0x0000000000000000 aesni_intel 372736 2 - Live 0x0000000000000000 crypto_simd 16384 1 aesni_intel, Live 0x0000000000000000 cfg80211 770048 3 iwlmvm,mac80211,iwlwifi, Live 0x0000000000000000 snd_seq 69632 2 snd_seq_midi,snd_seq_midi_event, Live 0x0000000000000000 cryptd 24576 2 ghash_clmulni_intel,crypto_simd, Live 0x0000000000000000 glue_helper 16384 1 aesni_intel, Live 0x0000000000000000 intel_cstate 20480 0 - Live 0x0000000000000000 snd_seq_device 16384 3 snd_seq_midi,snd_rawmidi,snd_seq, Live 0x0000000000000000 cec 53248 2 i915,drm_kms_helper, Live 0x0000000000000000 input_leds 16384 0 - Live 0x0000000000000000 videodev 237568 4 uvcvideo,rmi_core,videobuf2_v4l2,videobuf2_common, Live 0x0000000000000000 intel_rapl_perf 20480 0 - Live 0x0000000000000000 mei_me 40960 1 - Live 0x0000000000000000 snd_timer 40960 2 snd_pcm,snd_seq, Live 0x0000000000000000 thinkpad_acpi 110592 0 - Live 0x0000000000000000 i2c_algo_bit 16384 1 i915, Live 0x0000000000000000 fb_sys_fops 16384 1 drm_kms_helper, Live 0x0000000000000000 intel_xhci_usb_role_switch 16384 0 - Live 0x0000000000000000 nvram 16384 1 thinkpad_acpi, Live 0x0000000000000000 serio_raw 20480 0 - Live 0x0000000000000000 mei 106496 3 mei_hdcp,mei_me, Live 0x0000000000000000 ucsi_acpi 16384 0 - Live 0x0000000000000000 ledtrig_audio 16384 3 snd_hda_codec_realtek,snd_hda_codec_generic,thinkpad_acpi, Live 0x0000000000000000 efi_pstore 16384 0 - Live 0x0000000000000000 syscopyarea 16384 1 drm_kms_helper, Live 0x0000000000000000 typec_ucsi 32768 1 ucsi_acpi, Live 0x0000000000000000 processor_thermal_device 24576 0 - Live 0x0000000000000000 sysfillrect 16384 1 drm_kms_helper, Live 0x0000000000000000 intel_rapl_common 28672 2 intel_rapl_msr,processor_thermal_device, Live 0x0000000000000000 intel_wmi_thunderbolt 20480 0 - Live 0x0000000000000000 intel_pch_thermal 16384 0 - Live 0x0000000000000000 sysimgblt 16384 1 drm_kms_helper, Live 0x0000000000000000 mc 53248 4 uvcvideo,videobuf2_v4l2,videobuf2_common,videodev, Live 0x0000000000000000 wmi_bmof 16384 0 - Live 0x0000000000000000 typec 53248 1 typec_ucsi, Live 0x0000000000000000 roles 16384 1 intel_xhci_usb_role_switch, Live 0x0000000000000000 intel_soc_dts_iosf 20480 1 processor_thermal_device, Live 0x0000000000000000 snd 94208 18 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_codec_generic,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_rawmidi,snd_seq,snd_seq_device,snd_timer,thinkpad_acpi, Live 0x0000000000000000 int3403_thermal 16384 0 - Live 0x0000000000000000 soundcore 16384 1 snd, Live 0x0000000000000000 int340x_thermal_zone 16384 2 processor_thermal_device,int3403_thermal, Live 0x0000000000000000 int3400_thermal 20480 0 - Live 0x0000000000000000 acpi_thermal_rel 16384 1 int3400_thermal, Live 0x0000000000000000 acpi_pad 184320 0 - Live 0x0000000000000000 mac_hid 16384 0 - Live 0x0000000000000000 sch_fq_codel 20480 2 - Live 0x0000000000000000 drm 544768 8 i915,drm_kms_helper, Live 0x0000000000000000 parport_pc 40960 0 - Live 0x0000000000000000 ppdev 24576 0 - Live 0x0000000000000000 lp 20480 0 - Live 0x0000000000000000 parport 53248 3 parport_pc,ppdev,lp, Live 0x0000000000000000 ip_tables 32768 0 - Live 0x0000000000000000 x_tables 45056 1 ip_tables, Live 0x0000000000000000 autofs4 45056 2 - Live 0x0000000000000000 nvme 40960 2 - Live 0x0000000000000000 e1000e 253952 0 - Live 0x0000000000000000 nvme_core 106496 4 nvme, Live 0x0000000000000000 crc32_pclmul 16384 0 - Live 0x0000000000000000 i2c_i801 32768 0 - Live 0x0000000000000000 wmi 32768 2 intel_wmi_thunderbolt,wmi_bmof, Live 0x0000000000000000 i2c_hid 28672 0 - Live 0x0000000000000000 hid 135168 1 i2c_hid, Live 0x0000000000000000 video 49152 2 i915,thinkpad_acpi, Live 0x0000000000000000 [8.7.] Other information that might be relevant to the problem (please look in /proc and include all information that you think to be relevant): I attach the full dmesg after a few suspends and psmouse module removals and insertions. Some detailed descriptions of what happens when: Laptop is powerered on: [ 00.000000] - [ 15.924274] Xinput shows these input devices at this point: ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Synaptics TM3288-011 id=12 [slave pointer (2)] ⎜ ↳ TPPS/2 Elan TrackPoint id=13 [slave pointer (2)] Close lid, suspend, wake up: [ 251.222484] - [ 256.281313] Touchpad/trackpoint not working at this point; rmmod and modprobe psmouse twice: [ 328.251883] - [ 354.249981] Touchpad and trackpoint working now. Suspend and wake up again: [ 587.807248] - [ 592.830255] After wakeup, touchpad working. Suspend again a few times, touchpad and trackpoint seem to work in most cases. Around [ 778.483827] touchpad is working, but trackpoint is not (buttons are integrated with trackpoint, so don't work either). xinput returns: ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Synaptics TM3288-011 id=12 [slave pointer (2)] Around [ 1048.342982] issued rmmod and modprobe psmouse, everything working again. At the very bottom, dmesg seems to register some issues while using the touchpad normally, mainly: rmi4_f12 rmi4-02.fn12: Failed to read object data. Code: -6. rmi4_physical rmi4-02: Failed to read irqs, code=-6 Please let me know what additional info you might need.