diff options
author | Andrzej Hajda <a.hajda@samsung.com> | 2014-08-28 11:07:28 +0200 |
---|---|---|
committer | Chanho Park <chanho61.park@samsung.com> | 2014-11-18 12:00:45 +0900 |
commit | 3d99f0bfc1410de1a15f0528242bec31b58eb89a (patch) | |
tree | 61e5137919659fbe471275742d02341841599dfa /drivers | |
parent | 75a9825a211d179812d43e17be09b5b9e4ddacbf (diff) | |
download | linux-3.10-3d99f0bfc1410de1a15f0528242bec31b58eb89a.tar.gz linux-3.10-3d99f0bfc1410de1a15f0528242bec31b58eb89a.tar.bz2 linux-3.10-3d99f0bfc1410de1a15f0528242bec31b58eb89a.zip |
drm/exynos/ipp: remove only related commands on file close
On file close driver should remove only command nodes created
via this file.
Change-Id: I1063955f02af7f1cd456b5e31165fe64ed136788
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_ipp.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_ipp.c b/drivers/gpu/drm/exynos/exynos_drm_ipp.c index 0915d80277e..64eba116d53 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_ipp.c +++ b/drivers/gpu/drm/exynos/exynos_drm_ipp.c @@ -1815,17 +1815,13 @@ static int ipp_subdrv_open(struct drm_device *drm_dev, struct device *dev, static void ipp_subdrv_close(struct drm_device *drm_dev, struct device *dev, struct drm_file *file) { - struct drm_exynos_file_private *file_priv = file->driver_priv; - struct exynos_drm_ipp_private *priv = file_priv->ipp_priv; struct exynos_drm_ippdrv *ippdrv = NULL; struct drm_exynos_ipp_cmd_node *c_node, *tc_node; int count = 0; - DRM_DEBUG_KMS("%s:for priv[0x%x]\n", __func__, (int)priv); - if (list_empty(&exynos_drm_ippdrv_list)) { DRM_DEBUG_KMS("%s:ippdrv_list is empty.\n", __func__); - goto err_clear; + return; } list_for_each_entry(ippdrv, &exynos_drm_ippdrv_list, drv_list) { @@ -1837,7 +1833,7 @@ static void ipp_subdrv_close(struct drm_device *drm_dev, struct device *dev, DRM_DEBUG_KMS("%s:count[%d]ippdrv[0x%x]\n", __func__, count++, (int)ippdrv); - if (c_node->priv == priv) { + if (c_node->filp == file) { /* * userland goto unnormal state. process killed. * and close the file. @@ -1858,8 +1854,6 @@ static void ipp_subdrv_close(struct drm_device *drm_dev, struct device *dev, } } -err_clear: - kfree(priv); return; } |