]> Gentwo Git Trees - linux/.git/commit
HID: intel-ish-ipc: Reset clients state on resume from D3
authorZhang Lixu <lixu.zhang@intel.com>
Fri, 17 Oct 2025 02:22:15 +0000 (10:22 +0800)
committerJiri Kosina <jkosina@suse.com>
Fri, 17 Oct 2025 15:47:53 +0000 (17:47 +0200)
commitbd1b9a8df598882c69403ee83ba2903b45f9d607
treee252f29df8dc5396e07c2d5399ba91bb60988704
parent3cbf6544b0af61e8f9201f2c4c82fdaf2b5f3dd3
HID: intel-ish-ipc: Reset clients state on resume from D3

When ISH resumes from D3, the connection between ishtp clients and firmware
is lost. The ish_resume() function schedules resume_work asynchronously to
re-initiate the connection and then returns immediately. This can cause a
race where the upper-layer ishtp client driver's .resume() may execute
before the connection is fully restored, leaving the client in a stale
connected state. If the client sends messages during this window, the
firmware cannot respond.

To avoid this, reset the ishtp clients' state before returning from
ish_resume() if ISH is resuming from D3.

Signed-off-by: Zhang Lixu <lixu.zhang@intel.com>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
drivers/hid/intel-ish-hid/ipc/pci-ish.c