diff options
Diffstat (limited to 'arch/x86/kernel/apic/io_apic.c')
-rw-r--r-- | arch/x86/kernel/apic/io_apic.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c index c7bb6c69f21c..d6af97fd170a 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c | |||
@@ -2438,7 +2438,13 @@ unsigned int arch_dynirq_lower_bound(unsigned int from) | |||
2438 | * dmar_alloc_hwirq() may be called before setup_IO_APIC(), so use | 2438 | * dmar_alloc_hwirq() may be called before setup_IO_APIC(), so use |
2439 | * gsi_top if ioapic_dynirq_base hasn't been initialized yet. | 2439 | * gsi_top if ioapic_dynirq_base hasn't been initialized yet. |
2440 | */ | 2440 | */ |
2441 | return ioapic_initialized ? ioapic_dynirq_base : gsi_top; | 2441 | if (!ioapic_initialized) |
2442 | return gsi_top; | ||
2443 | /* | ||
2444 | * For DT enabled machines ioapic_dynirq_base is irrelevant and not | ||
2445 | * updated. So simply return @from if ioapic_dynirq_base == 0. | ||
2446 | */ | ||
2447 | return ioapic_dynirq_base ? : from; | ||
2442 | } | 2448 | } |
2443 | 2449 | ||
2444 | #ifdef CONFIG_X86_32 | 2450 | #ifdef CONFIG_X86_32 |