[PATCH] media: rkvdec: Fix a NULL vs IS_ERR() bug in probe()
Detlev Casanova
detlev.casanova at collabora.com
Mon Jul 21 07:08:03 PDT 2025
Hi Dan,
On Wednesday, 25 June 2025 11:23:10 EDT Dan Carpenter wrote:
> 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 at linaro.org>
> ---
> drivers/staging/media/rkvdec/rkvdec.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/staging/media/rkvdec/rkvdec.c
> b/drivers/staging/media/rkvdec/rkvdec.c index d707088ec0dc..1b7f27e4d961
> 100644
> --- a/drivers/staging/media/rkvdec/rkvdec.c
> +++ b/drivers/staging/media/rkvdec/rkvdec.c
> @@ -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));
Thank you for finding this one. I tested it on rock 5b and all is good.
Tested-by: Detlev Casanova <detlev.casanova at collabora.com>
Regards,
Detlev.
More information about the Linux-rockchip
mailing list