Re: [RESEND PATCH] x86: mpparse: fix mp_bus_not_pci handling

From: Bjorn Helgaas
Date: Mon Nov 14 2011 - 14:15:21 EST


On Tue, Nov 8, 2011 at 11:49 AM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote:
> 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".

We broke the poor user's system, and he went to the trouble to file a
nice bug report and even bisect it.

Can we please do him the courtesy of looking at this patch?

> Reference: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=586494
> Reported-and-tested-by: Dan McGrath <troubledaemon@xxxxxxxxx>
> Cc: Alexey Starikovskiy <astarikovskiy@xxxxxxx>
> Cc: stable@xxxxxxxxxx # 2.6.26+
> Reviewed-by: Jonathan Nieder <jrnieder@xxxxxxxxx>
> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
> ---
>  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
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/