linux-stable/drivers/hid/intel-ish-hid
Ye Xiang e48bf29cf9 HID: intel-ish-hid: use async resume function
ISH IPC driver uses asynchronous workqueue to do resume now, but there is
a potential timing issue: when child devices resume before bus driver, it
will cause child devices resume failed and cannot be recovered until
reboot. The current implementation in this case do wait for IPC to resume
but fail to accommodate for a case when there is no ISH reboot and soft
resume is taking time. This issue is apparent on Tiger Lake platform with
5.11.13 kernel when doing suspend to idle then resume(s0ix) test. To
resolve this issue, we change ISHTP HID client to use asynchronous resume
callback too. In the asynchronous resume callback, it waits for the ISHTP
resume done event, and then notify ISHTP HID client link ready.

Signed-off-by: Ye Xiang <xiang.ye@intel.com>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2021-07-15 20:49:09 +02:00
..
ipc Merge branch 'for-5.14/intel-ish' into for-linus 2021-06-30 09:06:53 +02:00
ishtp HID: intel-ish-hid: use async resume function 2021-07-15 20:49:09 +02:00
ishtp-fw-loader.c Merge branch 'for-5.14/intel-ish' into for-linus 2021-06-30 09:06:53 +02:00
ishtp-hid-client.c HID: intel-ish-hid: use async resume function 2021-07-15 20:49:09 +02:00
ishtp-hid.c HID: intel-ish-hid: Fix potential copy/paste error 2021-04-07 17:56:34 +02:00
ishtp-hid.h HID: intel-ish-hid: use async resume function 2021-07-15 20:49:09 +02:00
Kconfig HID: intel-ish-hid: Set ISH driver depends on x86 2021-06-14 15:55:09 +02:00
Makefile treewide: prefix header search paths with $(srctree)/ 2019-05-18 11:49:57 +09:00