diff mbox series

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

Message ID 20181217091830.32624-1-yuehaibing@huawei.com (mailing list archive)
State New
Delegated to: Kieran Bingham
Headers show
Series [-next] drm/shmob: Fix return value check in shmob_drm_probe | expand

Commit Message

Yue Haibing Dec. 17, 2018, 9:18 a.m. UTC
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().

Fixes: 8f1597c8f1a5 ("drm: shmobile: Perform initialization/cleanup at probe/remove time")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
---
 drivers/gpu/drm/shmobile/shmob_drm_drv.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Simon Horman Dec. 17, 2018, 11:25 a.m. UTC | #1
On Mon, Dec 17, 2018 at 05:18:30PM +0800, 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().
> 
> Fixes: 8f1597c8f1a5 ("drm: shmobile: Perform initialization/cleanup at probe/remove time")
> Signed-off-by: YueHaibing <yuehaibing@huawei.com>

Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
Kieran Bingham Dec. 17, 2018, 11:28 a.m. UTC | #2
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@huawei.com>

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

> ---
>  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)
>
Laurent Pinchart Dec. 17, 2018, 9:36 p.m. UTC | #3
Hi Yue,

Thank you for the patch.

On Monday, 17 December 2018 11:18:30 EET 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().
> 
> Fixes: 8f1597c8f1a5 ("drm: shmobile: Perform initialization/cleanup at
> probe/remove time")
> Signed-off-by: YueHaibing <yuehaibing@huawei.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

and applied to my tree.

> ---
>  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)
diff mbox series

Patch

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)