Fwd: [PATCH] x86, irq: Fix regression caused by commit b568b8601f05

Leann Ogasawara leann.ogasawara at canonical.com
Wed Feb 18 03:35:49 UTC 2015


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 at linux.intel.com>
> To: Ville Syrjälä <syrjala at sci.fi>, Rafael J. Wysocki <rjw at rjwysocki.net>, Len
> Brown <len.brown at intel.com>, Pavel Machek <pavel at ucw.cz>, Thomas Gleixner
> <tglx at linutronix.de>, Ingo Molnar <mingo at redhat.com>, H. Peter Anvin
> <hpa at zytor.com>, x86 at kernel.org
> CC: Jiang Liu <jiang.liu at linux.intel.com>, Sander Eikelenboom
> <linux at eikelenboom.it>, linux-acpi at vger.kernel.org, linux-pm at vger.kernel.org,
> linux-kernel at 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 at sci.fi>
> Signed-off-by: Jiang Liu <jiang.liu at 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;







More information about the kernel-team mailing list