Re: [PATCH -next] drm/shmob: Fix return value check in shmob_drm_probe

From: Kieran Bingham
Date: Mon Dec 17 2018 - 06:28:55 EST


Hi YeuHaibing,

On 17/12/2018 09:18, YueHaibing wrote:
> In case of error, the function devm_ioremap_resource() returns ERR_PTR()
> and never returns NULL. The NULL test in the return value check should
> be replaced with IS_ERR().
>

This looks correct to me.

I wonder if this failure pattern occurs a lot in the kernel.

I wonder if we have a cocci-check for this ?
It seems the closest we have is scripts/coccinelle/null/eno.cocci.

Perhaps that could be extended sometime to check these globally.

> Fixes: 8f1597c8f1a5 ("drm: shmobile: Perform initialization/cleanup at probe/remove time")
> Signed-off-by: YueHaibing <yuehaibing@xxxxxxxxxx>

Reviewed-by: Kieran Bingham <kieran.bingham+renesas@xxxxxxxxxxxxxxxx>

> ---
> drivers/gpu/drm/shmobile/shmob_drm_drv.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/shmobile/shmob_drm_drv.c b/drivers/gpu/drm/shmobile/shmob_drm_drv.c
> index 8554102..f2cfd16 100644
> --- a/drivers/gpu/drm/shmobile/shmob_drm_drv.c
> +++ b/drivers/gpu/drm/shmobile/shmob_drm_drv.c
> @@ -229,8 +229,8 @@ static int shmob_drm_probe(struct platform_device *pdev)
>
> res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> sdev->mmio = devm_ioremap_resource(&pdev->dev, res);
> - if (sdev->mmio == NULL)
> - return -ENOMEM;
> + if (IS_ERR(sdev->mmio))
> + return PTR_ERR(sdev->mmio);
>
> ret = shmob_drm_setup_clocks(sdev, pdata->clk_source);
> if (ret < 0)
>