summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorAndrzej Hajda <a.hajda@samsung.com>2014-08-28 11:07:28 +0200
committerChanho Park <chanho61.park@samsung.com>2014-11-18 12:00:45 +0900
commit3d99f0bfc1410de1a15f0528242bec31b58eb89a (patch)
tree61e5137919659fbe471275742d02341841599dfa /drivers
parent75a9825a211d179812d43e17be09b5b9e4ddacbf (diff)
downloadlinux-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.c10
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;
}