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)?

>  
>       return mp_map_pin_to_irq(gsi, idx, ioapic, pin, flags, info);
>  }

-- 
Andy Shevchenko <[email protected]>
Intel Finland Oy

Reply via email to