Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9f3dd7db authored by Andrzej Hajda's avatar Andrzej Hajda Committed by Inki Dae
Browse files

drm/exynos: fix drm driver de-initialization order



Since components have their own cleanup routines calling
drm_mode_config_cleanup before component_unbind_all causes errors
due to double free of KMS objects. The patch fixes it by changing
de-initialization order. Now it is exactly opposite to init order.

Signed-off-by: default avatarAndrzej Hajda <a.hajda@samsung.com>
Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
parent a36ed466
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -136,14 +136,14 @@ static int exynos_drm_unload(struct drm_device *dev)
	exynos_drm_device_subdrv_remove(dev);

	exynos_drm_fbdev_fini(dev);
	drm_vblank_cleanup(dev);
	drm_kms_helper_poll_fini(dev);
	drm_mode_config_cleanup(dev);

	component_unbind_all(dev->dev, dev);
	drm_vblank_cleanup(dev);
	drm_mode_config_cleanup(dev);
	drm_release_iommu_mapping(dev);
	kfree(dev->dev_private);

	component_unbind_all(dev->dev, dev);
	kfree(dev->dev_private);
	dev->dev_private = NULL;

	return 0;