Re: [PATCH 1/1] x86/ioapic: Return suitable error code in mp_map_gsi_to_irq()

From: Thomas Gleixner
Date: Mon Jan 16 2017 - 13:59:47 EST


On Mon, 16 Jan 2017, Andy Shevchenko wrote:

> On Mon, 2017-01-16 at 15:30 +0200, Andy Shevchenko wrote:
> > mp_map_gsi_to_irq() in some cases might return legacy -1, which would
> > be
> > wrongly interpreted as -EPERM.
> >
> > Correct those cases to return proper error codes.
> >
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> > ---
> > Âarch/x86/kernel/apic/io_apic.c | 4 ++--
> > Â1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/arch/x86/kernel/apic/io_apic.c
> > b/arch/x86/kernel/apic/io_apic.c
> > index 945e512a112a..99cee86b7d17 100644
> > --- a/arch/x86/kernel/apic/io_apic.c
> > +++ b/arch/x86/kernel/apic/io_apic.c
> > @@ -1107,12 +1107,12 @@ int mp_map_gsi_to_irq(u32 gsi, unsigned int
> > flags, struct irq_alloc_info *info)
> > Â
> > Â ioapic = mp_find_ioapic(gsi);
> > Â if (ioapic < 0)
> > - return -1;
> > + return -EINVAL;
> > Â
> > Â pin = mp_find_ioapic_pin(ioapic, gsi);
> > Â idx = find_irq_entry(ioapic, pin, mp_INT);
> > Â if ((flags & IOAPIC_MAP_CHECK) && idx < 0)
> > - return -1;
> > + return -ENODEV;
>
> Looking one more time...
> Or should it be other way around: -ENODEV (ioapic < 0), -EINVAL (here)?

ENODEV for both cases I think,