lkml.org 
[lkml]   [2011]   [Sep]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Subject[PATCH] x86: mpparse: fix mp_bus_not_pci handling
From
Date
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+
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


\
 
 \ /
  Last update: 2011-09-25 23:33    [W:0.071 / U:0.200 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site