drm/xe: Call drmm_add_action_or_reset() early in xe_device_create()
authorGustavo Sousa <gustavo.sousa@intel.com>
Thu, 18 May 2023 21:56:50 +0000 (18:56 -0300)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Tue, 19 Dec 2023 23:33:57 +0000 (18:33 -0500)
commitb67ece5b173375451de5c3a562c43aaf410001c5
tree923cb2b294cb14dade45bf5c92b96e3cb6f3ab08
parent6fedf8426d377ea9b57c91870d495006a683605e
drm/xe: Call drmm_add_action_or_reset() early in xe_device_create()

Otherwise no cleanup is actually done if we branch to err_put.

This works for now: currently we do know that, once inside
xe_device_destroy(), ttm_device_init() was successful so we can safely
call ttm_device_fini(); and, for xe->ordered_wq, there is an upcoming
commit to check its value before calling destroy_workqueue().

However, we might need change this in the future if we have more
initializers called that can fail in a way that we can not know which
one was it once inside xe_device_destroy().

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://lore.kernel.org/r/20230518215651.502159-2-gustavo.sousa@intel.com
Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_device.c