[PATCH -next] dmaengine: xilinx: xdma: Fix NULL vs IS_ERR() bug

Yue Haibing posted 1 patch 1 year, 5 months ago
drivers/dma/xilinx/xdma.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH -next] dmaengine: xilinx: xdma: Fix NULL vs IS_ERR() bug
Posted by Yue Haibing 1 year, 5 months ago
devm_regmap_init_mmio() never returns NULL pointer, it will
return ERR_PTR() when it fails, so check it with IS_ERR().

Fixes: 17ce252266c7 ("dmaengine: xilinx: xdma: Add xilinx xdma driver")
Signed-off-by: Yue Haibing <yuehaibing@huawei.com>
---
 drivers/dma/xilinx/xdma.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/dma/xilinx/xdma.c b/drivers/dma/xilinx/xdma.c
index 718842fdaf98..44fae351f0a0 100644
--- a/drivers/dma/xilinx/xdma.c
+++ b/drivers/dma/xilinx/xdma.c
@@ -1240,7 +1240,8 @@ static int xdma_probe(struct platform_device *pdev)
 
 	xdev->rmap = devm_regmap_init_mmio(&pdev->dev, reg_base,
 					   &xdma_regmap_config);
-	if (!xdev->rmap) {
+	if (IS_ERR(xdev->rmap)) {
+		ret = PTR_ERR(xdev->rmap);
 		xdma_err(xdev, "config regmap failed: %d", ret);
 		goto failed;
 	}
-- 
2.34.1
Re: [PATCH -next] dmaengine: xilinx: xdma: Fix NULL vs IS_ERR() bug
Posted by Lizhi Hou 1 year, 5 months ago
Please see: 
https://lore.kernel.org/dmaengine/20240819193641.600176-1-harshit.m.mogalapalli@oracle.com/


Thanks,

Lizhi

On 8/20/24 06:28, Yue Haibing wrote:
> devm_regmap_init_mmio() never returns NULL pointer, it will
> return ERR_PTR() when it fails, so check it with IS_ERR().
>
> Fixes: 17ce252266c7 ("dmaengine: xilinx: xdma: Add xilinx xdma driver")
> Signed-off-by: Yue Haibing <yuehaibing@huawei.com>
> ---
>   drivers/dma/xilinx/xdma.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/dma/xilinx/xdma.c b/drivers/dma/xilinx/xdma.c
> index 718842fdaf98..44fae351f0a0 100644
> --- a/drivers/dma/xilinx/xdma.c
> +++ b/drivers/dma/xilinx/xdma.c
> @@ -1240,7 +1240,8 @@ static int xdma_probe(struct platform_device *pdev)
>   
>   	xdev->rmap = devm_regmap_init_mmio(&pdev->dev, reg_base,
>   					   &xdma_regmap_config);
> -	if (!xdev->rmap) {
> +	if (IS_ERR(xdev->rmap)) {
> +		ret = PTR_ERR(xdev->rmap);
>   		xdma_err(xdev, "config regmap failed: %d", ret);
>   		goto failed;
>   	}