media: platform: mtk-mdp3: Fix return value check in mdp_probe()
authorQiheng Lin <linqiheng@huawei.com>
Fri, 2 Dec 2022 10:18:36 +0000 (11:18 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Mon, 6 Feb 2023 07:58:43 +0000 (08:58 +0100)
In case of error, the function mtk_mutex_get()
returns ERR_PTR() and never returns NULL. The NULL test in the
return value check should be replaced with IS_ERR().
And also fix the err_free_mutex case.

Fixes: 61890ccaefaf ("media: platform: mtk-mdp3: add MediaTek MDP3 driver")
Signed-off-by: Qiheng Lin <linqiheng@huawei.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c

index 2d1f6ae..97edcd9 100644 (file)
@@ -207,8 +207,8 @@ static int mdp_probe(struct platform_device *pdev)
        }
        for (i = 0; i < MDP_PIPE_MAX; i++) {
                mdp->mdp_mutex[i] = mtk_mutex_get(&mm_pdev->dev);
-               if (!mdp->mdp_mutex[i]) {
-                       ret = -ENODEV;
+               if (IS_ERR(mdp->mdp_mutex[i])) {
+                       ret = PTR_ERR(mdp->mdp_mutex[i]);
                        goto err_free_mutex;
                }
        }
@@ -289,7 +289,8 @@ err_deinit_comp:
        mdp_comp_destroy(mdp);
 err_free_mutex:
        for (i = 0; i < MDP_PIPE_MAX; i++)
-               mtk_mutex_put(mdp->mdp_mutex[i]);
+               if (!IS_ERR_OR_NULL(mdp->mdp_mutex[i]))
+                       mtk_mutex_put(mdp->mdp_mutex[i]);
 err_destroy_device:
        kfree(mdp);
 err_return: