Commit 49267133 authored by Balasubramani Vivekanandan's avatar Balasubramani Vivekanandan Committed by Lucas De Marchi
Browse files

drm/xe/guc: Synchronize Dead CT worker with unbind



Cancel and wait for any Dead CT worker to complete before continuing
with device unbinding. Else the worker will end up using resources freed
by the undind operation.

Cc: Zhanjun Dong <zhanjun.dong@intel.com>
Fixes: d2c5a5a9 ("drm/xe/guc: Dead CT helper")
Signed-off-by: default avatarBalasubramani Vivekanandan <balasubramani.vivekanandan@intel.com>
Reviewed-by: default avatarStuart Summers <stuart.summers@intel.com>
Link: https://patch.msgid.link/20251103123144.3231829-6-balasubramani.vivekanandan@intel.com


Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
parent 09c452d1
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -199,6 +199,9 @@ static void guc_ct_fini(struct drm_device *drm, void *arg)
{
	struct xe_guc_ct *ct = arg;

#if IS_ENABLED(CONFIG_DRM_XE_DEBUG)
	cancel_work_sync(&ct->dead.worker);
#endif
	ct_exit_safe_mode(ct);
	destroy_workqueue(ct->g2h_wq);
	xa_destroy(&ct->fence_lookup);