drm/exynos/ipp: remove only related commands on file close
authorAndrzej Hajda <a.hajda@samsung.com>
Thu, 28 Aug 2014 09:07:28 +0000 (11:07 +0200)
committerInki Dae <daeinki@gmail.com>
Fri, 19 Sep 2014 15:56:10 +0000 (00:56 +0900)
On file close driver should remove only command nodes created
via this file.

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>
drivers/gpu/drm/exynos/exynos_drm_ipp.c

index bbe9968..81f780e 100644 (file)
@@ -1681,14 +1681,11 @@ 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_ippdrv *ippdrv = NULL;
        struct ipp_context *ctx = get_ipp_context(dev);
        struct drm_exynos_ipp_cmd_node *c_node, *tc_node;
        int count = 0;
 
-       DRM_DEBUG_KMS("for priv[0x%x]\n", (int)file_priv->ipp_dev);
-
        list_for_each_entry(ippdrv, &exynos_drm_ippdrv_list, drv_list) {
                mutex_lock(&ippdrv->cmd_lock);
                list_for_each_entry_safe(c_node, tc_node,
@@ -1696,7 +1693,7 @@ static void ipp_subdrv_close(struct drm_device *drm_dev, struct device *dev,
                        DRM_DEBUG_KMS("count[%d]ippdrv[0x%x]\n",
                                count++, (int)ippdrv);
 
-                       if (c_node->dev == file_priv->ipp_dev) {
+                       if (c_node->filp == file) {
                                /*
                                 * userland goto unnormal state. process killed.
                                 * and close the file.