Commit 990785dcf5f47148bd92b312179be5e8404dd727

Authored by Bryan O'Donoghue
Committed by Greg Kroah-Hartman
1 parent 7b6b3d67f0

x86/apic: Re-enable PCI_MSI support for non-SMP X86_32

commit 38a1dfda8e77d7ba74c94d06d8bc41ba98a4bc8c upstream.

Commit 0dbc6078c06bc0 ('x86, build, pci: Fix PCI_MSI build on !SMP')
introduced the dependency that X86_UP_APIC is only available when
PCI_MSI is false. This effectively prevents PCI_MSI support on 32bit
UP systems because it disables both APIC and IO-APIC. But APIC support
is architecturally required for PCI_MSI.

The intention of the patch was to enforce APIC support when PCI_MSI is
enabled, but failed to do so.

Remove the !PCI_MSI dependency from X86_UP_APIC and enforce
X86_UP_APIC when PCI_MSI support is enabled on 32bit UP systems.

[ tglx: Massaged changelog ]

Fixes 0dbc6078c06bc0 'x86, build, pci: Fix PCI_MSI build on !SMP'
Signed-off-by: Bryan O'Donoghue <pure.logic@nexus-software.ie>
Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Link: http://lkml.kernel.org/r/1421967529-9037-1-git-send-email-pure.logic@nexus-software.ie
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Showing 1 changed file with 5 additions and 1 deletions Side-by-side Diff

... ... @@ -856,7 +856,7 @@
856 856  
857 857 config X86_UP_APIC
858 858 bool "Local APIC support on uniprocessors"
859   - depends on X86_32 && !SMP && !X86_32_NON_STANDARD && !PCI_MSI
  859 + depends on X86_32 && !SMP && !X86_32_NON_STANDARD
860 860 ---help---
861 861 A local APIC (Advanced Programmable Interrupt Controller) is an
862 862 integrated interrupt controller in the CPU. If you have a single-CPU
... ... @@ -866,6 +866,10 @@
866 866 all. The local APIC supports CPU-generated self-interrupts (timer,
867 867 performance counters), and the NMI watchdog which detects hard
868 868 lockups.
  869 +
  870 +config X86_UP_APIC_MSI
  871 + def_bool y
  872 + select X86_UP_APIC if X86_32 && !SMP && !X86_32_NON_STANDARD && PCI_MSI
869 873  
870 874 config X86_UP_IOAPIC
871 875 bool "IO-APIC support on uniprocessors"