OSDN Git Service

drm/tegra: Fix order of teardown in IOMMU case
authorThierry Reding <treding@nvidia.com>
Mon, 23 Apr 2018 06:57:44 +0000 (08:57 +0200)
committerThierry Reding <treding@nvidia.com>
Thu, 17 May 2018 15:44:48 +0000 (17:44 +0200)
The original code works fine, this is merely a cosmetic change to make
the teardown order the reverse of the setup order.

Reviewed-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
drivers/gpu/drm/tegra/drm.c

index 181e82c..7b9f73b 100644 (file)
@@ -204,10 +204,10 @@ config:
        drm_mode_config_cleanup(drm);
 
        if (tegra->domain) {
-               iommu_domain_free(tegra->domain);
-               drm_mm_takedown(&tegra->mm);
                mutex_destroy(&tegra->mm_lock);
+               drm_mm_takedown(&tegra->mm);
                put_iova_domain(&tegra->carveout.domain);
+               iommu_domain_free(tegra->domain);
        }
 free:
        kfree(tegra);
@@ -230,10 +230,10 @@ static void tegra_drm_unload(struct drm_device *drm)
                return;
 
        if (tegra->domain) {
-               iommu_domain_free(tegra->domain);
-               drm_mm_takedown(&tegra->mm);
                mutex_destroy(&tegra->mm_lock);
+               drm_mm_takedown(&tegra->mm);
                put_iova_domain(&tegra->carveout.domain);
+               iommu_domain_free(tegra->domain);
        }
 
        kfree(tegra);