Commit-ID:  358e96deaed3330a59d9dd6a7e419f4da08d6497
Gitweb:     http://git.kernel.org/tip/358e96deaed3330a59d9dd6a7e419f4da08d6497
Author:     Andy Shevchenko <andriy.shevche...@linux.intel.com>
AuthorDate: Thu, 19 Jan 2017 21:24:22 +0200
Committer:  Thomas Gleixner <t...@linutronix.de>
CommitDate: Fri, 20 Jan 2017 10:07:41 +0100

x86/ioapic: Return suitable error code in mp_map_gsi_to_irq()

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 code.

Signed-off-by: Andy Shevchenko <andriy.shevche...@linux.intel.com>
Link: 
http://lkml.kernel.org/r/20170119192425.189899-2-andriy.shevche...@linux.intel.com
Signed-off-by: Thomas Gleixner <t...@linutronix.de>

---
 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 945e512..f62c38d 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 -ENODEV;
 
        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;
 
        return mp_map_pin_to_irq(gsi, idx, ioapic, pin, flags, info);
 }

Reply via email to