From: Thomas Renninger <trenn@suse.de>
To: linux-kernel@vger.kernel.org
Cc: trenn@suse.de, linux-acpi@vger.kernel.org,
Yinghai Lu <yinghai@kernel.org>,
"Eric W. Biederman" <ebiederm@xmission.com>,
bjorn.helgaas@hp.com, lenb@kernel.org, stable@kernel.org,
Ingo Molnar <mingo@elte.hu>, H Peter Anvin <hpa@zytor.com>,
Thomas Gleixner <tglx@linutronix.de>
Subject: [PATCH] PNP ACPI: Use real gsi
Date: Fri, 4 Nov 2011 03:19:21 +0100 [thread overview]
Message-ID: <1320373161-3526-1-git-send-email-trenn@suse.de> (raw)
In-Reply-To: <1320372728-3235-1-git-send-email-trenn@suse.de>
From: Yinghai Lu <yinghai@kernel.org>
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@suse.de>
CC: Eric W. Biederman <ebiederm@xmission.com>
CC: bjorn.helgaas@hp.com
CC: lenb@kernel.org
CC: stable@kernel.org
CC: Ingo Molnar <mingo@elte.hu>
CC: H Peter Anvin <hpa@zytor.com>
CC: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Thomas Renninger <trenn@suse.de>
---
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
next prev parent reply other threads:[~2011-11-04 2:19 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-04 2:12 [PATCH] PNP ACPI: Use real gsi Thomas Renninger
2011-11-04 2:19 ` Thomas Renninger [this message]
2011-11-04 2:20 ` Thomas Renninger
2011-11-04 2:54 ` Zhang Rui
2011-11-04 4:10 ` Thomas Renninger
2011-11-09 8:35 ` Thomas Renninger
2011-11-10 3:07 ` Zhang Rui
2011-11-22 8:23 ` Zhang Rui
2011-11-04 3:19 ` Thomas Renninger
2011-11-09 22:28 ` Rafael J. Wysocki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1320373161-3526-1-git-send-email-trenn@suse.de \
--to=trenn@suse.de \
--cc=bjorn.helgaas@hp.com \
--cc=ebiederm@xmission.com \
--cc=hpa@zytor.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=stable@kernel.org \
--cc=tglx@linutronix.de \
--cc=yinghai@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox