Commit 3eda9019 authored by Dan Carpenter's avatar Dan Carpenter Committed by Rob Clark
Browse files

drm/msm/a3xx: fix error handling in a3xx_gpu_init()



These error paths returned 1 on failure, instead of a negative error
code.  This would lead to an Oops in the caller.  A second problem is
that the check for "if (ret != -ENODATA)" did not work because "ret" was
set to 1.

Fixes: 5785dd7a ("drm/msm: Fix duplicate gpu node in icc summary")
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/20211001125904.GK2283@kili


Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
parent 980d74e7
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -571,13 +571,14 @@ struct msm_gpu *a3xx_gpu_init(struct drm_device *dev)
	}

	icc_path = devm_of_icc_get(&pdev->dev, "gfx-mem");
	ret = IS_ERR(icc_path);
	if (ret)
	if (IS_ERR(icc_path)) {
		ret = PTR_ERR(icc_path);
		goto fail;
	}

	ocmem_icc_path = devm_of_icc_get(&pdev->dev, "ocmem");
	ret = IS_ERR(ocmem_icc_path);
	if (ret) {
	if (IS_ERR(ocmem_icc_path)) {
		ret = PTR_ERR(ocmem_icc_path);
		/* allow -ENODATA, ocmem icc is optional */
		if (ret != -ENODATA)
			goto fail;