[PATCH] drm/tegra: Fix ordering of cleanup code
Dmitry Osipenko
digetx at gmail.com
Sun Sep 29 19:53:29 UTC 2019
25.09.2019 14:26, Thierry Reding пишет:
> From: Thierry Reding <treding at 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 <treding at 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);
>
Hello Thierry,
Good that you spotted this! I had a similar patch sometime ago, but my
version had some problem and then I just forgot about it. I tried yours
patch and didn't notice anything wrong, thanks!
Reviewed-by: Dmitry Osipenko <digetx at gmail.com>
Tested-by: Dmitry Osipenko <digetx at gmail.com>
More information about the dri-devel
mailing list