* [PATCH] x86: mpparse: account for bus types other than ISA and PCI
@ 2011-11-22 21:50 Jonathan Nieder
2011-12-05 17:35 ` [tip:x86/urgent] x86/mpparse: Account " tip-bot for Bjorn Helgaas
0 siblings, 1 reply; 2+ messages in thread
From: Jonathan Nieder @ 2011-11-22 21:50 UTC (permalink / raw)
To: Andrew Morton
Cc: linux-kernel, x86, Dan McGrath, Bjorn Helgaas, Ingo Molnar,
Alexey Starikovskiy
From: Bjorn Helgaas <bhelgaas@google.com>
Date: Sun, 25 Sep 2011 15:29:00 -0600
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
Reported-bisected-and-tested-by: Dan McGrath <troubledaemon@gmail.com>
Cc: stable@vger.kernel.org # 2.6.26+
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
[jrnieder@gmail.com: clarified commit message]
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
Hi,
Fix for an old regression. Not present in linux-next, so seems to
have been forgotten. The patch visited LKML a few times --- I suppose
it was not a great time for getting patches in. :)
References:
- 2011-09-25: debugging session [1]
- 2011-09-25: first official appearance [2]
2011-10-17: ping. Ingo writes:
"Please resend - this is one of the mails that got lost in my korg
email disconnect.
Patch looks good at first sight."
- 2011-10-18: resent [3]
2011-10-31: ping
- 2011-11-08: resent [4]
2011-11-14: plaintive ping
- 2011-11-21: resent [5]
[1] http://thread.gmane.org/gmane.linux.kernel/1194982/focus=1195043
[2] http://thread.gmane.org/gmane.linux.kernel/1195093
[3] http://thread.gmane.org/gmane.linux.kernel/1204831
[4] http://thread.gmane.org/gmane.linux.kernel/1212763
[5] http://thread.gmane.org/gmane.linux.kernel/1218323
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 9103b89c145a..0741b062a304 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
--
1.7.8.rc3
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [tip:x86/urgent] x86/mpparse: Account for bus types other than ISA and PCI
2011-11-22 21:50 [PATCH] x86: mpparse: account for bus types other than ISA and PCI Jonathan Nieder
@ 2011-12-05 17:35 ` tip-bot for Bjorn Helgaas
0 siblings, 0 replies; 2+ messages in thread
From: tip-bot for Bjorn Helgaas @ 2011-12-05 17:35 UTC (permalink / raw)
To: linux-tip-commits
Cc: linux-kernel, troubledaemon, hpa, mingo, aystarik, bhelgaas,
jrnieder, tglx, mingo
Commit-ID: 9e6866686bdf2dcf3aeb0838076237ede532dcc8
Gitweb: http://git.kernel.org/tip/9e6866686bdf2dcf3aeb0838076237ede532dcc8
Author: Bjorn Helgaas <bhelgaas@google.com>
AuthorDate: Sun, 25 Sep 2011 15:29:00 -0600
Committer: Ingo Molnar <mingo@elte.hu>
CommitDate: Mon, 5 Dec 2011 13:46:27 +0100
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
Reported-bisected-and-tested-by: Dan McGrath <troubledaemon@gmail.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Cc: stable@vger.kernel.org # 2.6.26+
Cc: Dan McGrath <troubledaemon@gmail.com>
Cc: Alexey Starikovskiy <aystarik@gmail.com>
[jrnieder@gmail.com: clarified commit message]
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Link: http://lkml.kernel.org/r/20111122215000.GA9151@elie.hsd1.il.comcast.net
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
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
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-12-05 17:35 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-11-22 21:50 [PATCH] x86: mpparse: account for bus types other than ISA and PCI Jonathan Nieder
2011-12-05 17:35 ` [tip:x86/urgent] x86/mpparse: Account " tip-bot for Bjorn Helgaas
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.