On 5/18/26 09:45, Ryosuke Yasuoka wrote: >> It may be acceptable to have wait_event_timeout() in a loop, printing >> warnings about unresponsive host. > I considered this approach, but it does not solve the recovery problem > described above. The guest would still be stuck in the loop with no way > to remove the device or shut down gracefully.
Could `system_state != SYSTEM_RUNNING` be checked in the wait loop? This may allow to handle system shutdown, aborting the timed out wait in the special case. Userspace may also get stuck in a zombie state. For that, code should use wait_event_interruptible(). But driver has code unprepared to be interrupted, it all needs to be reworked first [1]. Similarly, for unbind there could a driver flag that the wait loop will check and handle specially. WDYT? [1] https://lore.kernel.org/dri-devel/[email protected]/ -- Best regards, Dmitry

