Peripheral devices do not work after waking up from Suspend when using a Dock

Hello,

I am using a dock connected to my laptop via USB C. The dock is Dell K20A001. I have my peripheral devices connected to the dock via a USB hub via one of the USB ports on the Dell dock. I have an external Display connected via the Dock using the Display port.

Sometimes (very frequently), when I wake up my laptop from suspend (i.e. pressing the laptop’s power button), the display wakes up fine but my external keyboard and mouse do not work. My laptop’s keyboard/trackpad works fine, though.

I looked at journalctl but could not find anything useful (I am not that knowledgeable about low-level kernel staff). Can anyone help me with this issue, please?

Note: I also tried Hibernate, which also caused the same problem as Suspend.

Here is the output from journalctl:

Sep 19 10:28:10 xps159560 kernel:  <TASK>
Sep 19 10:28:10 xps159560 kernel:  __schedule+0x356/0x11a0
Sep 19 10:28:10 xps159560 kernel:  ? __wake_up_common_lock+0x88/0xc0
Sep 19 10:28:10 xps159560 kernel:  schedule+0x5e/0xd0
Sep 19 10:28:10 xps159560 kernel:  snd_power_ref_and_wait+0xde/0x130 [snd f618105480a4bf03a987005afb2c614b5c13306e]
Sep 19 10:28:10 xps159560 kernel:  ? cpuacct_percpu_seq_show+0x20/0x20
Sep 19 10:28:10 xps159560 kernel:  snd_ctl_elem_info+0x4e/0x1b0 [snd f618105480a4bf03a987005afb2c614b5c13306e]
Sep 19 10:28:10 xps159560 kernel:  snd_ctl_elem_info_user+0x54/0xb0 [snd f618105480a4bf03a987005afb2c614b5c13306e]
Sep 19 10:28:10 xps159560 kernel:  snd_ctl_ioctl+0x1c8/0x840 [snd f618105480a4bf03a987005afb2c614b5c13306e]
Sep 19 10:28:10 xps159560 kernel:  ? __seccomp_filter+0x328/0x4e0
Sep 19 10:28:10 xps159560 kernel:  __x64_sys_ioctl+0x91/0xd0
Sep 19 10:28:10 xps159560 kernel:  do_syscall_64+0x5c/0x90
Sep 19 10:28:10 xps159560 kernel:  ? exit_to_user_mode_prepare+0x145/0x1d0
Sep 19 10:28:10 xps159560 kernel:  ? syscall_exit_to_user_mode+0x1b/0x40
Sep 19 10:28:10 xps159560 kernel:  ? do_syscall_64+0x6b/0x90
Sep 19 10:28:10 xps159560 kernel:  ? do_syscall_64+0x6b/0x90
Sep 19 10:28:10 xps159560 kernel:  entry_SYSCALL_64_after_hwframe+0x63/0xcd
Sep 19 10:28:10 xps159560 kernel: RIP: 0033:0x7fe3589e99af
Sep 19 10:28:10 xps159560 kernel: RSP: 002b:00007ffc8fa78720 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
Sep 19 10:28:10 xps159560 kernel: RAX: ffffffffffffffda RBX: 000055792268a270 RCX: 00007fe3589e99af
Sep 19 10:28:10 xps159560 kernel: RDX: 00007ffc8fa78790 RSI: 00000000c1105511 RDI: 0000000000000017
Sep 19 10:28:10 xps159560 kernel: RBP: 00007ffc8fa78970 R08: 00005579227e1760 R09: 0000000000000001
Sep 19 10:28:10 xps159560 kernel: R10: 00005579228427d0 R11: 0000000000000246 R12: 00005579226cc0d0
Sep 19 10:28:10 xps159560 kernel: R13: 00007ffc8fa78910 R14: 00007ffc8fa788b0 R15: 00007ffc8fa78790
Sep 19 10:28:10 xps159560 kernel:  </TASK>
Sep 19 10:28:10 xps159560 kernel: INFO: task kworker/6:1:231243 blocked for more than 493 seconds.
Sep 19 10:28:10 xps159560 kernel:       Tainted: P           OE     5.19.9-arch1-1 #1
Sep 19 10:28:10 xps159560 kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Sep 19 10:28:10 xps159560 kernel: task:kworker/6:1     state:D stack:    0 pid:231243 ppid:     2 flags:0x00004000
Sep 19 10:28:10 xps159560 kernel: Workqueue: usb_hub_wq hub_event
Sep 19 10:28:10 xps159560 kernel: Call Trace:
Sep 19 10:28:10 xps159560 kernel:  <TASK>
Sep 19 10:28:10 xps159560 kernel:  __schedule+0x356/0x11a0
Sep 19 10:28:10 xps159560 kernel:  ? kobject_uevent_env+0x116/0x660
Sep 19 10:28:10 xps159560 kernel:  schedule+0x5e/0xd0
Sep 19 10:28:10 xps159560 kernel:  rwsem_down_write_slowpath+0x335/0x720
Sep 19 10:28:10 xps159560 kernel:  snd_pcm_dev_disconnect+0x1ed/0x290 [snd_pcm 353141c4e0cb9482a699454b9e909868a8e4010b]
Sep 19 10:28:10 xps159560 kernel:  snd_device_disconnect_all+0x46/0x70 [snd f618105480a4bf03a987005afb2c614b5c13306e]
Sep 19 10:28:10 xps159560 kernel:  snd_card_disconnect+0x12c/0x290 [snd f618105480a4bf03a987005afb2c614b5c13306e]
Sep 19 10:28:10 xps159560 kernel:  ? __wake_up_common_lock+0x88/0xc0
Sep 19 10:28:10 xps159560 kernel:  usb_audio_disconnect+0x11e/0x2d0 [snd_usb_audio 68c22eb02787e3a2c7bba73b63b41eb89d216bf1]
Sep 19 10:28:10 xps159560 kernel:  usb_unbind_interface+0x90/0x270
Sep 19 10:28:10 xps159560 kernel:  device_release_driver_internal+0x1b6/0x230
Sep 19 10:28:10 xps159560 kernel:  bus_remove_device+0xdc/0x150
Sep 19 10:28:10 xps159560 kernel:  device_del+0x18f/0x410
Sep 19 10:28:10 xps159560 kernel:  ? kobject_put+0x9c/0x1c0
Sep 19 10:28:10 xps159560 kernel:  usb_disable_device+0xbb/0x1e0
Sep 19 10:28:10 xps159560 kernel:  usb_disconnect+0xe3/0x2d0
Sep 19 10:28:10 xps159560 kernel:  usb_disconnect+0xc8/0x2d0
Sep 19 10:28:10 xps159560 kernel:  hub_event+0xbc9/0x19a0
Sep 19 10:28:10 xps159560 kernel:  process_one_work+0x1c4/0x380
Sep 19 10:28:10 xps159560 kernel:  worker_thread+0x51/0x390
Sep 19 10:28:10 xps159560 kernel:  ? rescuer_thread+0x3b0/0x3b0
Sep 19 10:28:10 xps159560 kernel:  kthread+0xdb/0x110
Sep 19 10:28:10 xps159560 kernel:  ? kthread_complete_and_exit+0x20/0x20
Sep 19 10:28:10 xps159560 kernel:  ret_from_fork+0x1f/0x30
Sep 19 10:28:10 xps159560 kernel:  </TASK>
Sep 19 10:28:40 xps159560 systemd-udevd[294]: 3-1.3: Worker [237302] processing SEQNUM=5061 killed
Sep 19 10:28:40 xps159560 systemd-udevd[294]: 3-1.3: Worker [237302] terminated by signal 9 (KILL).
Sep 19 10:28:48 xps159560 wpa_supplicant[638]: wlan0: CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-45 noise=-96 txrate=866700

I have also executed that command dmesg | grep -i taint which revealed this info:

[    7.151121] nvidia: loading out-of-tree module taints kernel.
[    7.151136] nvidia: module license 'NVIDIA' taints kernel.
[    7.151138] Disabling lock debugging due to kernel taint
[    7.220279] nvidia: module verification failed: signature and/or required key missing - tainting kernel
[    7.913695] nvidia_uvm: module uses symbols nvUvmInterfaceDisableAccessCntr from proprietary module nvidia, inheriting taint.

So it looks like my Nvidia card/drivers are causing the problem? I am not sure.