aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/apic/io_apic.c
diff options
context:
space:
mode:
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>2017-01-19 14:24:22 -0500
committerThomas Gleixner <tglx@linutronix.de>2017-01-20 04:07:41 -0500
commit358e96deaed3330a59d9dd6a7e419f4da08d6497 (patch)
treea59d642ea2dc4f155e0619a35372ebdc57c6305f /arch/x86/kernel/apic/io_apic.c
parent81a71176740624ef3b1bff50c51e7b4aa187353d (diff)
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.shevchenko@linux.intel.com> Link: http://lkml.kernel.org/r/20170119192425.189899-2-andriy.shevchenko@linux.intel.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/kernel/apic/io_apic.c')
-rw-r--r--arch/x86/kernel/apic/io_apic.c4
1 files 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..f62c38d325da 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)
1107 1107
1108 ioapic = mp_find_ioapic(gsi); 1108 ioapic = mp_find_ioapic(gsi);
1109 if (ioapic < 0) 1109 if (ioapic < 0)
1110 return -1; 1110 return -ENODEV;
1111 1111
1112 pin = mp_find_ioapic_pin(ioapic, gsi); 1112 pin = mp_find_ioapic_pin(ioapic, gsi);
1113 idx = find_irq_entry(ioapic, pin, mp_INT); 1113 idx = find_irq_entry(ioapic, pin, mp_INT);
1114 if ((flags & IOAPIC_MAP_CHECK) && idx < 0) 1114 if ((flags & IOAPIC_MAP_CHECK) && idx < 0)
1115 return -1; 1115 return -ENODEV;
1116 1116
1117 return mp_map_pin_to_irq(gsi, idx, ioapic, pin, flags, info); 1117 return mp_map_pin_to_irq(gsi, idx, ioapic, pin, flags, info);
1118} 1118}