]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
media: ti: vpe: Fix the error code of devm_kzalloc() in vip_probe_slice()
authorFelix Gu <ustc.gu@gmail.com>
Tue, 17 Mar 2026 17:21:55 +0000 (01:21 +0800)
committerHans Verkuil <hverkuil+cisco@kernel.org>
Tue, 5 May 2026 14:57:02 +0000 (16:57 +0200)
In vip_probe_slice(), the error check for devm_kzalloc() incorrectly
uses PTR_ERR_OR_ZERO() which returns 0 for NULL pointer.

Return -ENOMEM for devm_kzalloc() failure.

Fixes: fc2873aa4a21 ("media: ti: vpe: Add the VIP driver")
Cc: stable@vger.kernel.org
Signed-off-by: Felix Gu <ustc.gu@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
drivers/media/platform/ti/vpe/vip.c

index bd34c982b4277cf634611841d02e9bbb7950d201..cb0a5a07a3d46a0c28885b2b5bb789abde9e0d4f 100644 (file)
@@ -3490,7 +3490,7 @@ static int vip_probe_slice(struct platform_device *pdev, int slice)
 
        parser = devm_kzalloc(&pdev->dev, sizeof(*dev->parser), GFP_KERNEL);
        if (!parser)
-               return PTR_ERR_OR_ZERO(parser);
+               return -ENOMEM;
 
        parser->base = dev->base + (slice ? VIP_SLICE1_PARSER : VIP_SLICE0_PARSER);
        if (IS_ERR(parser->base))
@@ -3502,7 +3502,7 @@ static int vip_probe_slice(struct platform_device *pdev, int slice)
        dev->sc_assigned = VIP_NOT_ASSIGNED;
        sc = devm_kzalloc(&pdev->dev, sizeof(*dev->sc), GFP_KERNEL);
        if (!sc)
-               return PTR_ERR_OR_ZERO(sc);
+               return -ENOMEM;
 
        sc->base = dev->base + (slice ? VIP_SLICE1_SC : VIP_SLICE0_SC);
        if (IS_ERR(sc->base))
@@ -3514,7 +3514,7 @@ static int vip_probe_slice(struct platform_device *pdev, int slice)
        dev->csc_assigned = VIP_NOT_ASSIGNED;
        csc = devm_kzalloc(&pdev->dev, sizeof(*dev->csc), GFP_KERNEL);
        if (!csc)
-               return PTR_ERR_OR_ZERO(csc);
+               return -ENOMEM;
 
        csc->base = dev->base + (slice ? VIP_SLICE1_CSC : VIP_SLICE0_CSC);
        if (IS_ERR(csc->base))