From: Thierry Reding <tred...@nvidia.com>

Commit Fixes: b9f8b09ce256 ("drm/tegra: Setup shared IOMMU domain after
initialization") changed the initialization order of the IOMMU related
bits but didn't update the cleanup path accordingly. This asymmetry can
cause failures during error recovery.

Fixes: b9f8b09ce256 ("drm/tegra: Setup shared IOMMU domain after 
initialization")
Signed-off-by: Thierry Reding <tred...@nvidia.com>
---
 drivers/gpu/drm/tegra/drm.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c
index 6fb7d74ff553..bc7cc32140f8 100644
--- a/drivers/gpu/drm/tegra/drm.c
+++ b/drivers/gpu/drm/tegra/drm.c
@@ -201,19 +201,19 @@ static int tegra_drm_load(struct drm_device *drm, 
unsigned long flags)
        if (tegra->hub)
                tegra_display_hub_cleanup(tegra->hub);
 device:
-       host1x_device_exit(device);
-fbdev:
-       drm_kms_helper_poll_fini(drm);
-       tegra_drm_fb_free(drm);
-config:
-       drm_mode_config_cleanup(drm);
-
        if (tegra->domain) {
                mutex_destroy(&tegra->mm_lock);
                drm_mm_takedown(&tegra->mm);
                put_iova_domain(&tegra->carveout.domain);
                iova_cache_put();
        }
+
+       host1x_device_exit(device);
+fbdev:
+       drm_kms_helper_poll_fini(drm);
+       tegra_drm_fb_free(drm);
+config:
+       drm_mode_config_cleanup(drm);
 domain:
        if (tegra->domain)
                iommu_domain_free(tegra->domain);
-- 
2.23.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to