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

Commit be348790 authored by Wei Yongjun's avatar Wei Yongjun Committed by Inki Dae
Browse files

drm/exynos: exynos_drm_ipp: fix return value check



In case of error, the function ipp_find_obj() returns ERR_PTR()
and never returns NULL. The NULL test in the return value check
should be replaced with IS_ERR().

Signed-off-by: default avatarWei Yongjun <yongjun_wei@trendmicro.com.cn>
Reviewed-by: default avatarTomasz Figa <t.figa@samsung.com>
Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
parent bf903e41
Loading
Loading
Loading
Loading
+6 −6
Original line number Original line Diff line number Diff line
@@ -342,10 +342,10 @@ int exynos_drm_ipp_get_property(struct drm_device *drm_dev, void *data,
		 */
		 */
		ippdrv = ipp_find_obj(&ctx->ipp_idr, &ctx->ipp_lock,
		ippdrv = ipp_find_obj(&ctx->ipp_idr, &ctx->ipp_lock,
						prop_list->ipp_id);
						prop_list->ipp_id);
		if (!ippdrv) {
		if (IS_ERR(ippdrv)) {
			DRM_ERROR("not found ipp%d driver.\n",
			DRM_ERROR("not found ipp%d driver.\n",
					prop_list->ipp_id);
					prop_list->ipp_id);
			return -EINVAL;
			return PTR_ERR(ippdrv);
		}
		}


		prop_list = ippdrv->prop_list;
		prop_list = ippdrv->prop_list;
@@ -970,9 +970,9 @@ int exynos_drm_ipp_queue_buf(struct drm_device *drm_dev, void *data,
	/* find command node */
	/* find command node */
	c_node = ipp_find_obj(&ctx->prop_idr, &ctx->prop_lock,
	c_node = ipp_find_obj(&ctx->prop_idr, &ctx->prop_lock,
		qbuf->prop_id);
		qbuf->prop_id);
	if (!c_node) {
	if (IS_ERR(c_node)) {
		DRM_ERROR("failed to get command node.\n");
		DRM_ERROR("failed to get command node.\n");
		return -EFAULT;
		return PTR_ERR(c_node);
	}
	}


	/* buffer control */
	/* buffer control */
@@ -1106,9 +1106,9 @@ int exynos_drm_ipp_cmd_ctrl(struct drm_device *drm_dev, void *data,


	c_node = ipp_find_obj(&ctx->prop_idr, &ctx->prop_lock,
	c_node = ipp_find_obj(&ctx->prop_idr, &ctx->prop_lock,
		cmd_ctrl->prop_id);
		cmd_ctrl->prop_id);
	if (!c_node) {
	if (IS_ERR(c_node)) {
		DRM_ERROR("invalid command node list.\n");
		DRM_ERROR("invalid command node list.\n");
		return -EINVAL;
		return PTR_ERR(c_node);
	}
	}


	if (!exynos_drm_ipp_check_valid(ippdrv->dev, cmd_ctrl->ctrl,
	if (!exynos_drm_ipp_check_valid(ippdrv->dev, cmd_ctrl->ctrl,