Re: [PATCH] vfio: platform: Switch to platform_get_irq_optional()

From: Andre Przywara
Date: Wed Mar 04 2020 - 05:39:58 EST


On Mon, 2 Mar 2020 21:37:15 +0100
Eric Auger <eric.auger@xxxxxxxxxx> wrote:

> Since commit 7723f4c5ecdb ("driver core: platform: Add an error
> message to platform_get_irq*()"), platform_get_irq() calls dev_err()
> on an error. As we enumerate all interrupts until platform_get_irq()
> fails, we now systematically get a message such as:
> "vfio-platform fff51000.ethernet: IRQ index 3 not found" which is
> a false positive.
>
> Let's use platform_get_irq_optional() instead.

Yes, that seems correct to me and avoids the false positive error message I saw before.

> Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx # v5.3+

Reviewed-by: Andre Przywara <andre.przywara@xxxxxxx>
Tested-by: Andre Przywara <andre.przywara@xxxxxxx>

Thanks!
Andre

> ---
> drivers/vfio/platform/vfio_platform.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/vfio/platform/vfio_platform.c b/drivers/vfio/platform/vfio_platform.c
> index ae1a5eb98620..1e2769010089 100644
> --- a/drivers/vfio/platform/vfio_platform.c
> +++ b/drivers/vfio/platform/vfio_platform.c
> @@ -44,7 +44,7 @@ static int get_platform_irq(struct vfio_platform_device *vdev, int i)
> {
> struct platform_device *pdev = (struct platform_device *) vdev->opaque;
>
> - return platform_get_irq(pdev, i);
> + return platform_get_irq_optional(pdev, i);
> }
>
> static int vfio_platform_probe(struct platform_device *pdev)