diff options
author | Tejun Heo <tj@kernel.org> | 2013-02-27 20:03:39 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-27 22:10:13 -0500 |
commit | 4d53233a36fdda567cd4d080e27e1ee4b669ddd1 (patch) | |
tree | ea2db52bd4aea72c20eb7630e4f350c54772e0d6 /drivers/gpu/drm/exynos | |
parent | 748689d40c2554b91197349a98ef084dc0fa70c8 (diff) |
drm: don't use idr_remove_all()
idr_destroy() can destroy idr by itself and idr_remove_all() is being
deprecated. Drop its usage.
* drm_ctxbitmap_cleanup() was calling idr_remove_all() but forgetting
idr_destroy() thus leaking all buffered free idr_layers. Replace it
with idr_destroy().
Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: David Airlie <airlied@linux.ie>
Cc: Inki Dae <inki.dae@samsung.com>
Cc: Joonyoung Shim <jy0922.shim@samsung.com>
Cc: Seung-Woo Kim <sw0312.kim@samsung.com>
Cc: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/gpu/drm/exynos')
-rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_ipp.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_ipp.c b/drivers/gpu/drm/exynos/exynos_drm_ipp.c index 1a556354e92f..90398dfbfd75 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_ipp.c +++ b/drivers/gpu/drm/exynos/exynos_drm_ipp.c | |||
@@ -1786,8 +1786,6 @@ err_iommu: | |||
1786 | drm_iommu_detach_device(drm_dev, ippdrv->dev); | 1786 | drm_iommu_detach_device(drm_dev, ippdrv->dev); |
1787 | 1787 | ||
1788 | err_idr: | 1788 | err_idr: |
1789 | idr_remove_all(&ctx->ipp_idr); | ||
1790 | idr_remove_all(&ctx->prop_idr); | ||
1791 | idr_destroy(&ctx->ipp_idr); | 1789 | idr_destroy(&ctx->ipp_idr); |
1792 | idr_destroy(&ctx->prop_idr); | 1790 | idr_destroy(&ctx->prop_idr); |
1793 | return ret; | 1791 | return ret; |
@@ -1965,8 +1963,6 @@ static int ipp_remove(struct platform_device *pdev) | |||
1965 | exynos_drm_subdrv_unregister(&ctx->subdrv); | 1963 | exynos_drm_subdrv_unregister(&ctx->subdrv); |
1966 | 1964 | ||
1967 | /* remove,destroy ipp idr */ | 1965 | /* remove,destroy ipp idr */ |
1968 | idr_remove_all(&ctx->ipp_idr); | ||
1969 | idr_remove_all(&ctx->prop_idr); | ||
1970 | idr_destroy(&ctx->ipp_idr); | 1966 | idr_destroy(&ctx->ipp_idr); |
1971 | idr_destroy(&ctx->prop_idr); | 1967 | idr_destroy(&ctx->prop_idr); |
1972 | 1968 | ||