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

Commit 21a825ee authored by Andrzej Hajda's avatar Andrzej Hajda Committed by Inki Dae
Browse files

drm/exynos/ipp: remove only related commands on file close



On file close driver should remove only command nodes created
via this file.

Signed-off-by: default avatarAndrzej Hajda <a.hajda@samsung.com>
Reviewed-by: default avatarJoonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
parent 945a0aad
Loading
Loading
Loading
Loading
+1 −4
Original line number Original line Diff line number Diff line
@@ -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,
static void ipp_subdrv_close(struct drm_device *drm_dev, struct device *dev,
		struct drm_file *file)
		struct drm_file *file)
{
{
	struct drm_exynos_file_private *file_priv = file->driver_priv;
	struct exynos_drm_ippdrv *ippdrv = NULL;
	struct exynos_drm_ippdrv *ippdrv = NULL;
	struct ipp_context *ctx = get_ipp_context(dev);
	struct ipp_context *ctx = get_ipp_context(dev);
	struct drm_exynos_ipp_cmd_node *c_node, *tc_node;
	struct drm_exynos_ipp_cmd_node *c_node, *tc_node;
	int count = 0;
	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) {
	list_for_each_entry(ippdrv, &exynos_drm_ippdrv_list, drv_list) {
		mutex_lock(&ippdrv->cmd_lock);
		mutex_lock(&ippdrv->cmd_lock);
		list_for_each_entry_safe(c_node, tc_node,
		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",
			DRM_DEBUG_KMS("count[%d]ippdrv[0x%x]\n",
				count++, (int)ippdrv);
				count++, (int)ippdrv);


			if (c_node->dev == file_priv->ipp_dev) {
			if (c_node->filp == file) {
				/*
				/*
				 * userland goto unnormal state. process killed.
				 * userland goto unnormal state. process killed.
				 * and close the file.
				 * and close the file.