{
int err;
+ init_completion(&xe->pm_block);
+ complete_all(&xe->pm_block);
+ INIT_LIST_HEAD(&xe->rebind_resume_list);
INIT_LIST_HEAD(&xe->mem_access.vram_userfault.list);
err = drmm_mutex_init(&xe->drm, &xe->mem_access.vram_userfault.lock);
if (err)
return err;
+ err = drmm_mutex_init(&xe->drm, &xe->rebind_resume_lock);
+ if (err)
+ return err;
+
return 0;
}
ALLOW_ERROR_INJECTION(xe_pm_init_early, ERRNO); /* See xe_pci_probe() */
if (err)
return err;
- err = drmm_mutex_init(&xe->drm, &xe->rebind_resume_lock);
- if (err)
- goto err_unregister;
-
- init_completion(&xe->pm_block);
- complete_all(&xe->pm_block);
- INIT_LIST_HEAD(&xe->rebind_resume_list);
-
/* For now suspend/resume is only allowed with GuC */
if (!xe_device_uc_enabled(xe))
return 0;