We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 6d9f911 commit 37a1cf2Copy full SHA for 37a1cf2
drivers/gpu/drm/xe/xe_sync.c
@@ -87,8 +87,12 @@ static void user_fence_worker(struct work_struct *w)
87
drm_dbg(&ufence->xe->drm, "mmget_not_zero() failed, ufence wasn't signaled\n");
88
}
89
90
- wake_up_all(&ufence->xe->ufence_wq);
+ /*
91
+ * Wake up waiters only after updating the ufence state, allowing the UMD
92
+ * to safely reuse the same ufence without encountering -EBUSY errors.
93
+ */
94
WRITE_ONCE(ufence->signalled, 1);
95
+ wake_up_all(&ufence->xe->ufence_wq);
96
user_fence_put(ufence);
97
98
0 commit comments