]> www.infradead.org Git - users/griffoul/linux.git/commitdiff
media: rkvdec: Fix a NULL vs IS_ERR() bug in probe()
authorDan Carpenter <dan.carpenter@linaro.org>
Mon, 11 Aug 2025 14:18:07 +0000 (10:18 -0400)
committerHans Verkuil <hverkuil+cisco@kernel.org>
Mon, 18 Aug 2025 07:55:04 +0000 (09:55 +0200)
The iommu_paging_domain_alloc() function doesn't return NULL on error it
returns error pointers.  Update the check and then set ->empty_domain to
NULL because the rest of the driver assumes it can be NULL.

Fixes: ff8c5622f9f7 ("media: rkvdec: Restore iommu addresses on errors")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Tested-by: Detlev Casanova <detlev.casanova@collabora.com>
Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
drivers/media/platform/rockchip/rkvdec/rkvdec.c

index d707088ec0dc1f6a18b2d168ebdf20b443f2240e..1b7f27e4d96116eceded29d567fb324ac00af96e 100644 (file)
@@ -1162,8 +1162,10 @@ static int rkvdec_probe(struct platform_device *pdev)
        if (iommu_get_domain_for_dev(&pdev->dev)) {
                rkvdec->empty_domain = iommu_paging_domain_alloc(rkvdec->dev);
 
-               if (!rkvdec->empty_domain)
+               if (IS_ERR(rkvdec->empty_domain)) {
+                       rkvdec->empty_domain = NULL;
                        dev_warn(rkvdec->dev, "cannot alloc new empty domain\n");
+               }
        }
 
        vb2_dma_contig_set_max_seg_size(&pdev->dev, DMA_BIT_MASK(32));