From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754610Ab1KDCTb (ORCPT ); Thu, 3 Nov 2011 22:19:31 -0400 Received: from cantor2.suse.de ([195.135.220.15]:38756 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754349Ab1KDCTa (ORCPT ); Thu, 3 Nov 2011 22:19:30 -0400 From: Thomas Renninger To: linux-kernel@vger.kernel.org Cc: trenn@suse.de, linux-acpi@vger.kernel.org, Yinghai Lu , "Eric W. Biederman" , bjorn.helgaas@hp.com, lenb@kernel.org, stable@kernel.org, Ingo Molnar , H Peter Anvin , Thomas Gleixner Subject: [PATCH] PNP ACPI: Use real gsi Date: Fri, 4 Nov 2011 03:19:21 +0100 Message-Id: <1320373161-3526-1-git-send-email-trenn@suse.de> X-Mailer: git-send-email 1.7.6.1 In-Reply-To: <1320372728-3235-1-git-send-email-trenn@suse.de> References: <1320372728-3235-1-git-send-email-trenn@suse.de> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Yinghai Lu 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 CC: Eric W. Biederman CC: bjorn.helgaas@hp.com CC: lenb@kernel.org CC: stable@kernel.org CC: Ingo Molnar CC: H Peter Anvin CC: Thomas Gleixner Signed-off-by: Thomas Renninger --- 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 -- 1.7.6.1