On 28-08-2026 03:42, Andi Shyti wrote:
Hi Arvind,

...

+static void xe_device_wedged_work(struct work_struct *work)
+{
+       struct xe_device *xe =
+                       container_of(work, struct xe_device, wedged.work);
+       unsigned long method;
+
+       /* Report at most one recovery method per worker invocation. */
+       method = READ_ONCE(xe->wedged.method);
+       if (method != READ_ONCE(xe->wedged.reported_method)) {
+               drm_dev_wedged_event(&xe->drm, method, NULL);
+               WRITE_ONCE(xe->wedged.reported_method, method);
I think we need to check the error from drm_dev_wedged_event():

                int err;

                err = drm_dev_wedged_event(&xe->drm, method, NULL);
                if (!err)
                        WRITE_ONCE(xe->wedged.reported_method, method);


Thanks, agreed.
I will update reported_method only when drm_dev_wedged_event() succeeds.

Arvind


Andi

+       }

Reply via email to