drm/tegra: Fix ordering of cleanup code
PATCH 1/1 drm/tegra: Fix ordering of cleanup code
From: Thierry Reding <[email protected]>
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.
--- drivers/gpu/drm/tegra/drm.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)
drivers/gpu/drm/tegra/drm.c +7 -7
@@ -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);
Signature · 6 lines
2.23.0 _______________________________________________ dri-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel
25.09.2019 14:26, Thierry Reding пишет:
Quoted 35 lines
From: Thierry Reding <[email protected]>
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 <[email protected]>--- drivers/gpu/drm/tegra/drm.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)drivers/gpu/drm/tegra/drm.c +0
-7@@ -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 (); }
drivers/gpu/drm/tegra/drm.c static int tegra_drm_load(struct drm_device *drm, unsigned long flags) · line 219
Quoted 10 lines
drivers/gpu/drm/tegra/drm.c +7
-0+ +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!
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel