diff mbox

x86, irq: Fix regression caused by commit b568b8601f05

Message ID 54E1B5A6.7030404@canonical.com
State New
Headers show

Commit Message

Stefan Bader Feb. 16, 2015, 9:17 a.m. UTC
Andy, there has been no feedback on the fixup, yet. Just a heads-up that the bug
fix for Xen acpi irq seems to have some nasty side-effect for some laptops...

-Stefan


-------- Forwarded Message --------
Subject: [PATCH] x86, irq: Fix regression caused by commit b568b8601f05
Date: Mon, 16 Feb 2015 10:11:13 +0800
From: Jiang Liu <jiang.liu@linux.intel.com>
To: Ville Syrjälä <syrjala@sci.fi>, Rafael J. Wysocki <rjw@rjwysocki.net>, Len
Brown <len.brown@intel.com>, Pavel Machek <pavel@ucw.cz>, Thomas Gleixner
<tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>, H. Peter Anvin
<hpa@zytor.com>, x86@kernel.org
CC: Jiang Liu <jiang.liu@linux.intel.com>, Sander Eikelenboom
<linux@eikelenboom.it>, linux-acpi@vger.kernel.org, linux-pm@vger.kernel.org,
linux-kernel@vger.kernel.org

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

Leann Ogasawara Feb. 18, 2015, 3:35 a.m. UTC | #1
On Mon, 2015-02-16 at 10:17 +0100, Stefan Bader wrote:
> Andy, there has been no feedback on the fixup, yet. Just a heads-up that the bug
> fix for Xen acpi irq seems to have some nasty side-effect for some laptops...

Hi Stefan,

I'm prepping another upload for Vivid.  I've purposely left the backport
of b568b8601f05 sitting on Vivid master-next and not a part of the
upload until the regression is sorted.  Do keep us posted.

Thanks,
Leann

> -------- Forwarded Message --------
> Subject: [PATCH] x86, irq: Fix regression caused by commit b568b8601f05
> Date: Mon, 16 Feb 2015 10:11:13 +0800
> From: Jiang Liu <jiang.liu@linux.intel.com>
> To: Ville Syrjälä <syrjala@sci.fi>, Rafael J. Wysocki <rjw@rjwysocki.net>, Len
> Brown <len.brown@intel.com>, Pavel Machek <pavel@ucw.cz>, Thomas Gleixner
> <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>, H. Peter Anvin
> <hpa@zytor.com>, x86@kernel.org
> CC: Jiang Liu <jiang.liu@linux.intel.com>, Sander Eikelenboom
> <linux@eikelenboom.it>, linux-acpi@vger.kernel.org, linux-pm@vger.kernel.org,
> linux-kernel@vger.kernel.org
> 
> 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(+)
> 
> 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;
Stefan Bader Feb. 18, 2015, 12:50 p.m. UTC | #2
On 18.02.2015 04:35, Leann Ogasawara wrote:
> On Mon, 2015-02-16 at 10:17 +0100, Stefan Bader wrote:
>> Andy, there has been no feedback on the fixup, yet. Just a heads-up that the bug
>> fix for Xen acpi irq seems to have some nasty side-effect for some laptops...
> 
> Hi Stefan,
> 
> I'm prepping another upload for Vivid.  I've purposely left the backport
> of b568b8601f05 sitting on Vivid master-next and not a part of the
> upload until the regression is sorted.  Do keep us posted.

Will do. So far the reporter of the regression confirmed that the proposed patch
does fix his issue. Though I have not seen it in linux-next or linux, yet.

-Stefan

> 
> Thanks,
> Leann
> 
>> -------- Forwarded Message --------
>> Subject: [PATCH] x86, irq: Fix regression caused by commit b568b8601f05
>> Date: Mon, 16 Feb 2015 10:11:13 +0800
>> From: Jiang Liu <jiang.liu@linux.intel.com>
>> To: Ville Syrjälä <syrjala@sci.fi>, Rafael J. Wysocki <rjw@rjwysocki.net>, Len
>> Brown <len.brown@intel.com>, Pavel Machek <pavel@ucw.cz>, Thomas Gleixner
>> <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>, H. Peter Anvin
>> <hpa@zytor.com>, x86@kernel.org
>> CC: Jiang Liu <jiang.liu@linux.intel.com>, Sander Eikelenboom
>> <linux@eikelenboom.it>, linux-acpi@vger.kernel.org, linux-pm@vger.kernel.org,
>> linux-kernel@vger.kernel.org
>>
>> 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(+)
>>
>> 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;
> 
> 
>
Stefan Bader Feb. 24, 2015, 7:55 a.m. UTC | #3
On 18.02.2015 04:35, Leann Ogasawara wrote:
> On Mon, 2015-02-16 at 10:17 +0100, Stefan Bader wrote:
>> Andy, there has been no feedback on the fixup, yet. Just a heads-up that the bug
>> fix for Xen acpi irq seems to have some nasty side-effect for some laptops...
> 
> Hi Stefan,
> 
> I'm prepping another upload for Vivid.  I've purposely left the backport
> of b568b8601f05 sitting on Vivid master-next and not a part of the
> upload until the regression is sorted.  Do keep us posted.
> 

Now "alive" upstream (tagged stable):


commit 1ea76fbadd667b19c4fa4466f3a3b55a505e83d9
Author: Jiang Liu <jiang.liu@linux.intel.com>
Date:   Mon Feb 16 10:11:13 2015 +0800

    x86/irq: Fix regression caused by commit b568b8601f05

    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>
    Tested-by: Ville Syrjälä <syrjala@sci.fi>
    Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Acked-by: Pavel Machek <pavel@ucw.cz>
    Cc: <stable@vger.kernel.org> # 3.19+
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Len Brown <len.brown@intel.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
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;