]> git.karo-electronics.de Git - karo-tx-linux.git/commit
x86: mpparse: account for bus types other than ISA and PCI
authorBjorn Helgaas <bhelgaas@google.com>
Wed, 30 Nov 2011 04:03:09 +0000 (15:03 +1100)
committerStephen Rothwell <sfr@canb.auug.org.au>
Wed, 30 Nov 2011 04:13:35 +0000 (15:13 +1100)
commit65d9ac13896b21abcdbb8477b0629d9b7c4a77ee
tree5f1264778930b579ffe5287f9afb753558796d8d
parentf14f153eb6647aed667d2c55f580482a73d00c03
x86: mpparse: account for bus types other than ISA and PCI

In commit f8924e770e04 ("x86: unify mp_bus_info"), the 32-bit and 64-bit
versions of MP_bus_info were rearranged to match each other better.
Unfortunately it introduced a regression: prior to that change we used to
always set the mp_bus_not_pci bit, then clear it if we found a PCI bus.
After it, we set mp_bus_not_pci for ISA buses, clear it for PCI buses, and
leave it alone otherwise.

In the cases of ISA and PCI, there's not much difference.  But ISA is not
the only non-PCI bus, so it's better to always set mp_bus_not_pci and
clear it only for PCI.

Without this change, Dan's Dell PowerEdge 4200 panics on boot with a log
indicating interrupt routing trouble unless the "noapic" option is
supplied.  With this change, the machine boots reliably without "noapic".

Fixes http://bugs.debian.org/586494

[jrnieder@gmail.com: clarified commit message]
Reported-bisected-and-tested-by: Dan McGrath <troubledaemon@gmail.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: <stable@vger.kernel.org> # 2.6.26+
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
arch/x86/kernel/mpparse.c