diff --git a/src/virtio/vulkan/vn_common.c b/src/virtio/vulkan/vn_common.c index b71b174706f..2d389a8dc19 100644 --- a/src/virtio/vulkan/vn_common.c +++ b/src/virtio/vulkan/vn_common.c @@ -147,6 +147,10 @@ vn_watchdog_acquire(struct vn_watchdog *watchdog, bool alive) mtx_trylock(&watchdog->mutex) == thrd_success) { /* register as the only waiting thread that monitors the ring. */ watchdog->tid = tid; + /* Always set alive to true for new watchdog owner because the + * last owner might have just unset the alive bit before release. + */ + alive = true; } if (tid != watchdog->tid)