Messages in this thread Patch in this message |  | | | Subject | [RESEND PATCH] x86: mpparse: fix mp_bus_not_pci handling | | From | Bjorn Helgaas <> | | Date | Tue, 08 Nov 2011 11:49:34 -0700 |
| |
Dan bisected a Dell PowerEdge 4200 boot regression to commit f8924e770. Prior to that commit, 32-bit kernels set mp_bus_not_pci for all buses except PCI. Afterwards, we set mp_bus_not_pci only for ISA. 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.
The workaround was to boot with "noapic". Dan verified that with this patch, his system boots without "noapic".
Reference: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=586494 Reported-and-tested-by: Dan McGrath <troubledaemon@gmail.com> Cc: Alexey Starikovskiy <astarikovskiy@suse.de> Cc: stable@kernel.org # 2.6.26+ Reviewed-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> --- arch/x86/kernel/mpparse.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/x86/kernel/mpparse.c b/arch/x86/kernel/mpparse.c index 9103b89..0741b062 100644 --- a/arch/x86/kernel/mpparse.c +++ b/arch/x86/kernel/mpparse.c @@ -95,8 +95,8 @@ static void __init MP_bus_info(struct mpc_bus *m) } #endif + set_bit(m->busid, mp_bus_not_pci); if (strncmp(str, BUSTYPE_ISA, sizeof(BUSTYPE_ISA) - 1) == 0) { - set_bit(m->busid, mp_bus_not_pci); #if defined(CONFIG_EISA) || defined(CONFIG_MCA) mp_bus_id_to_type[m->busid] = MP_BUS_ISA; #endif
|  |