2022-04-25 07:56:28

by CGEL

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

From: Lv Ruyi <[email protected]>

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 <[email protected]>
Signed-off-by: Lv Ruyi <[email protected]>
---
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


2022-09-27 14:53:03

by Michael Ellerman

[permalink] [raw]
Subject: Re: [PATCH] powerpc/fsl_msi: fix return error value in error handing path

[email protected] writes:
> From: Lv Ruyi <[email protected]>
>
> 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 <[email protected]>
> Signed-off-by: Lv Ruyi <[email protected]>
> ---
> 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