[PATCH] powerpc/fsl_msi: fix return error value in error handing path

cgel.zte@gmail.com posted 1 patch 4 years ago
arch/powerpc/sysdev/fsl_msi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] powerpc/fsl_msi: fix return error value in error handing path
Posted by cgel.zte@gmail.com 4 years ago
From: Lv Ruyi <lv.ruyi@zte.com.cn>

This function fsl_msi_setup_hwirq() seems to return zero on success and
non-zero on failure, but it returns zero in error handing path.

Reported-by: Zeal Robot <zealci@zte.com.cn>
Signed-off-by: Lv Ruyi <lv.ruyi@zte.com.cn>
---
 arch/powerpc/sysdev/fsl_msi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/powerpc/sysdev/fsl_msi.c b/arch/powerpc/sysdev/fsl_msi.c
index b3475ae9f236..10f974cfa2f3 100644
--- a/arch/powerpc/sysdev/fsl_msi.c
+++ b/arch/powerpc/sysdev/fsl_msi.c
@@ -353,7 +353,7 @@ static int fsl_msi_setup_hwirq(struct fsl_msi *msi, struct platform_device *dev,
 	if (!virt_msir) {
 		dev_err(&dev->dev, "%s: Cannot translate IRQ index %d\n",
 			__func__, irq_index);
-		return 0;
+		return -EINVAL;
 	}
 
 	cascade_data = kzalloc(sizeof(struct fsl_msi_cascade_data), GFP_KERNEL);
-- 
2.25.1
Re: [PATCH] powerpc/fsl_msi: fix return error value in error handing path
Posted by Michael Ellerman 3 years, 7 months ago
cgel.zte@gmail.com writes:
> From: Lv Ruyi <lv.ruyi@zte.com.cn>
>
> This function fsl_msi_setup_hwirq() seems to return zero on success and
> non-zero on failure, but it returns zero in error handing path.

I agree it seems wrong, but I can't be sure the current code is wrong,
so unless you're able to test this on actual hardware (or qemu), I'll
drop this patch.

cheers

> Reported-by: Zeal Robot <zealci@zte.com.cn>
> Signed-off-by: Lv Ruyi <lv.ruyi@zte.com.cn>
> ---
>  arch/powerpc/sysdev/fsl_msi.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/sysdev/fsl_msi.c b/arch/powerpc/sysdev/fsl_msi.c
> index b3475ae9f236..10f974cfa2f3 100644
> --- a/arch/powerpc/sysdev/fsl_msi.c
> +++ b/arch/powerpc/sysdev/fsl_msi.c
> @@ -353,7 +353,7 @@ static int fsl_msi_setup_hwirq(struct fsl_msi *msi, struct platform_device *dev,
>  	if (!virt_msir) {
>  		dev_err(&dev->dev, "%s: Cannot translate IRQ index %d\n",
>  			__func__, irq_index);
> -		return 0;
> +		return -EINVAL;
>  	}
>  
>  	cascade_data = kzalloc(sizeof(struct fsl_msi_cascade_data), GFP_KERNEL);
> -- 
> 2.25.1