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 <[email protected]>
> > ---
> >  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,

Reply via email to