On Fri, 2011-11-04 at 10:20 +0800, Thomas Renninger wrote: > From: Yinghai Lu <yinghai@xxxxxxxxxx> > > In 2.6.35 a lot cleanups in this area (not pnp, but x86 ioapic setup) have > been introduced. > On an IBM Xseries (x3850) this caused the machine to freeze around when > the init userspace process is tried to get started. > The reason is that the timer interrupt is not set up correctly on this machine. > > I could bisect the issue to one of ioapic cleanups introduced in 2.6.35: > commit a4384df3e24579d6292a1b3b41d500349948f30b > > While on this machine the problem was an interrupt timer issue, > there may be other platforms with different interrupt issues relatd to this > problem. Kernel logs with similar IOAPIC errors inside pnpacpi setup might > need this patch: > pnp 00:04: [io 0x02f8-0x02ff] > IOAPIC[1]: Invalid reference to IRQ 0 > pnp 00:04: [irq 2] > pnp 00:04: Plug and Play ACPI device, IDs PNP0501 (active) > > Yinghai came up with this patch which fixes the problem for me. > Looks like the bisected commit is correct, but the pnp layer has been > overseen. > > Tested-by: Thomas Renninger <trenn@xxxxxxx> > CC: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> > CC: bhelgaas@xxxxxxxxxx > CC: lenb@xxxxxxxxxx > CC: stable@xxxxxxxxxx > CC: Ingo Molnar <mingo@xxxxxxx> > CC: H Peter Anvin <hpa@xxxxxxxxx> > CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > Signed-off-by: Thomas Renninger <trenn@xxxxxxx> Acked-by: Zhang Rui <rui.zhang@xxxxxxxxx> > --- > drivers/pnp/pnpacpi/rsparser.c | 8 ++++++++ > 1 files changed, 8 insertions(+), 0 deletions(-) > > diff --git a/drivers/pnp/pnpacpi/rsparser.c b/drivers/pnp/pnpacpi/rsparser.c > index bbf3edd..dad5da9 100644 > --- a/drivers/pnp/pnpacpi/rsparser.c > +++ b/drivers/pnp/pnpacpi/rsparser.c > @@ -106,6 +106,14 @@ static void pnpacpi_parse_allocated_irqresource(struct pnp_dev *dev, > return; > } > > +#ifdef CONFIG_X86_IO_APIC > + /* > + * Convert it back to real gsi > + */ > + if (acpi_irq_model == ACPI_IRQ_MODEL_IOAPIC) > + acpi_isa_irq_to_gsi(gsi, &gsi); > +#endif > + > /* > * in IO-APIC mode, use overrided attribute. Two reasons: > * 1. BIOS bug in DSDT -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html