diff mbox

x86, irq: Fix regression caused by commit b568b8601f05

Message ID 1424052673-22974-1-git-send-email-jiang.liu@linux.intel.com (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Jiang Liu Feb. 16, 2015, 2:11 a.m. UTC
Commit b568b8601f05 ("Treat SCI interrupt as normal GSI interrupt")
accidently removes support of legacy PIC interrupt when fixing a
regression for Xen, which causes a nasty regression on HP/Compaq
nc6000 where we fail to register the ACPI interrupt, and thus
lose eg. thermal notifications leading a potentially overheated
machine.

So reintroduce support of legacy PIC based ACPI SCI interrupt.

Reported-by: Ville Syrjälä <syrjala@sci.fi>
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
---
Hi Ville,
	Could you please help to try this patch instead of revert commit
b568b8601f05?
Thanks!
Gerry
---
 arch/x86/kernel/acpi/boot.c |    5 +++++
 1 file changed, 5 insertions(+)

Comments

Ville Syrjälä Feb. 16, 2015, 7:11 p.m. UTC | #1
On Mon, Feb 16, 2015 at 10:11:13AM +0800, Jiang Liu wrote:
> Commit b568b8601f05 ("Treat SCI interrupt as normal GSI interrupt")
> accidently removes support of legacy PIC interrupt when fixing a
> regression for Xen, which causes a nasty regression on HP/Compaq
> nc6000 where we fail to register the ACPI interrupt, and thus
> lose eg. thermal notifications leading a potentially overheated
> machine.
> 
> So reintroduce support of legacy PIC based ACPI SCI interrupt.
> 
> Reported-by: Ville Syrjälä <syrjala@sci.fi>
> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
> ---
> Hi Ville,
> 	Could you please help to try this patch instead of revert commit
> b568b8601f05?

Yep, this seems to fix it. Thanks.

Tested-by: Ville Syrjälä <syrjala@sci.fi>
Cc: <stable@vger.kernel.org> # 3.19

That's one regression fixed on this machine, time to go bisect the next one...

> Thanks!
> Gerry
> ---
>  arch/x86/kernel/acpi/boot.c |    5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
> index ae97ed0873c6..3d525c6124f6 100644
> --- a/arch/x86/kernel/acpi/boot.c
> +++ b/arch/x86/kernel/acpi/boot.c
> @@ -613,6 +613,11 @@ int acpi_gsi_to_irq(u32 gsi, unsigned int *irqp)
>  {
>  	int rc, irq, trigger, polarity;
>  
> +	if (acpi_irq_model == ACPI_IRQ_MODEL_PIC) {
> +		*irqp = gsi;
> +		return 0;
> +	}
> +
>  	rc = acpi_get_override_irq(gsi, &trigger, &polarity);
>  	if (rc == 0) {
>  		trigger = trigger ? ACPI_LEVEL_SENSITIVE : ACPI_EDGE_SENSITIVE;
> -- 
> 1.7.10.4
>
Pavel Machek Feb. 16, 2015, 7:36 p.m. UTC | #2
On Mon 2015-02-16 10:11:13, Jiang Liu wrote:
> Commit b568b8601f05 ("Treat SCI interrupt as normal GSI interrupt")
> accidently removes support of legacy PIC interrupt when fixing a

accidentaly?

> regression for Xen, which causes a nasty regression on HP/Compaq
> nc6000 where we fail to register the ACPI interrupt, and thus
> lose eg. thermal notifications leading a potentially overheated
> machine.
> 
> So reintroduce support of legacy PIC based ACPI SCI interrupt.
> 
> Reported-by: Ville Syrjälä <syrjala@sci.fi>
> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>

Acked-by: Pavel Machek <pavel@ucw.cz>
Rafael J. Wysocki Feb. 17, 2015, 5:55 p.m. UTC | #3
On Monday, February 16, 2015 08:36:37 PM Pavel Machek wrote:
> On Mon 2015-02-16 10:11:13, Jiang Liu wrote:
> > Commit b568b8601f05 ("Treat SCI interrupt as normal GSI interrupt")
> > accidently removes support of legacy PIC interrupt when fixing a
> 
> accidentaly?
> 
> > regression for Xen, which causes a nasty regression on HP/Compaq
> > nc6000 where we fail to register the ACPI interrupt, and thus
> > lose eg. thermal notifications leading a potentially overheated
> > machine.
> > 
> > So reintroduce support of legacy PIC based ACPI SCI interrupt.
> > 
> > Reported-by: Ville Syrjälä <syrjala@sci.fi>
> > Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
> 
> Acked-by: Pavel Machek <pavel@ucw.cz>

Is anyone taking care of this one or should I take it?

Ingo, Peter?
Peter Zijlstra Feb. 17, 2015, 6:50 p.m. UTC | #4
On Tue, Feb 17, 2015 at 06:55:14PM +0100, Rafael J. Wysocki wrote:
> On Monday, February 16, 2015 08:36:37 PM Pavel Machek wrote:
> > On Mon 2015-02-16 10:11:13, Jiang Liu wrote:
> > > Commit b568b8601f05 ("Treat SCI interrupt as normal GSI interrupt")
> > > accidently removes support of legacy PIC interrupt when fixing a
> > 
> > accidentaly?
> > 
> > > regression for Xen, which causes a nasty regression on HP/Compaq
> > > nc6000 where we fail to register the ACPI interrupt, and thus
> > > lose eg. thermal notifications leading a potentially overheated
> > > machine.
> > > 
> > > So reintroduce support of legacy PIC based ACPI SCI interrupt.
> > > 
> > > Reported-by: Ville Syrjälä <syrjala@sci.fi>
> > > Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
> > 
> > Acked-by: Pavel Machek <pavel@ucw.cz>
> 
> Is anyone taking care of this one or should I take it?
> 
> Ingo, Peter?

Gots it, thanks!
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index ae97ed0873c6..3d525c6124f6 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -613,6 +613,11 @@  int acpi_gsi_to_irq(u32 gsi, unsigned int *irqp)
 {
 	int rc, irq, trigger, polarity;
 
+	if (acpi_irq_model == ACPI_IRQ_MODEL_PIC) {
+		*irqp = gsi;
+		return 0;
+	}
+
 	rc = acpi_get_override_irq(gsi, &trigger, &polarity);
 	if (rc == 0) {
 		trigger = trigger ? ACPI_LEVEL_SENSITIVE : ACPI_EDGE_SENSITIVE;