public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* RE: [patch] 2.6.1-mm3 acpi frees free irq0
@ 2004-01-15 17:19 Brown, Len
  2004-01-15 22:01 ` Jes Sorensen
  0 siblings, 1 reply; 6+ messages in thread
From: Brown, Len @ 2004-01-15 17:19 UTC (permalink / raw)
  To: Jes Sorensen, akpm; +Cc: linux-kernel, acpi-devel, Jesse Barnes

The primary failure is that the SCI was not found, and the secondary
symptom is that we failed to handle that error properly -- which you've
patched.

Can you tell me more about the primary failure?
Was the SCI found in other releases?

Thanks,
-Len

> -----Original Message-----
> From: Jes Sorensen [mailto:jes@trained-monkey.org] 
> Sent: Thursday, January 15, 2004 9:57 AM
> To: akpm@osdl.org
> Cc: linux-kernel@vger.kernel.org; 
> acpi-devel@lists.sourceforge.net; Brown, Len; Jesse Barnes
> Subject: [patch] 2.6.1-mm3 acpi frees free irq0
> 
> 
> Hi,
> 
> There is a bug in the ACPI code found in 2.6.1-mm3 where if it can't
> find the interrupt source for the ACPI System Control 
> Interrupt Handler,
> it end up trying to free irq 0.
> 
> Included patch fixes the problem.
> 
> Cheers,
> Jes
> 
> --- linux-2.6.1-mm3/drivers/acpi/osl.c~	Wed Jan 14 05:00:25 2004
> +++ linux-2.6.1-mm3/drivers/acpi/osl.c	Thu Jan 15 06:43:28 2004
> @@ -257,13 +257,13 @@
>  		return AE_OK;
>  	}
>  #endif
> -	acpi_irq_irq = irq;
>  	acpi_irq_handler = handler;
>  	acpi_irq_context = context;
>  	if (request_irq(irq, acpi_irq, SA_SHIRQ, "acpi", acpi_irq)) {
>  		printk(KERN_ERR PREFIX "SCI (IRQ%d) allocation 
> failed\n", irq);
>  		return AE_NOT_ACQUIRED;
>  	}
> +	acpi_irq_irq = irq;
>  
>  	return AE_OK;
>  }
> @@ -271,12 +271,13 @@
>  acpi_status
>  acpi_os_remove_interrupt_handler(u32 irq, OSD_HANDLER handler)
>  {
> -	if (acpi_irq_handler) {
> +	if (irq) {
>  #if defined(CONFIG_IA64) || defined(CONFIG_PCI_USE_VECTOR)
>  		irq = acpi_irq_to_vector(irq);
>  #endif
>  		free_irq(irq, acpi_irq);
>  		acpi_irq_handler = NULL;
> +		acpi_irq_irq = 0;
>  	}
>  
>  	return AE_OK;
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread
* RE: [patch] 2.6.1-mm3 acpi frees free irq0
@ 2004-01-18  6:29 Yu, Luming
  2004-01-19  7:59 ` Jes Sorensen
  0 siblings, 1 reply; 6+ messages in thread
From: Yu, Luming @ 2004-01-18  6:29 UTC (permalink / raw)
  To: Jes Sorensen, Brown, Len; +Cc: akpm, linux-kernel, acpi-devel, Jesse Barnes


> In this specific case the prom doesn't have it in it's tables, so not
> finding it is expected behavior.

What's your machine type, and BIOS version?
This specific box seems to be short of
fundamental ACPI power button support.

Please refer ACPI spec 3.2.1

^ permalink raw reply	[flat|nested] 6+ messages in thread
* [patch] 2.6.1-mm3 acpi frees free irq0
@ 2004-01-15 14:56 Jes Sorensen
  2004-01-26 20:30 ` Len Brown
  0 siblings, 1 reply; 6+ messages in thread
From: Jes Sorensen @ 2004-01-15 14:56 UTC (permalink / raw)
  To: akpm; +Cc: linux-kernel, acpi-devel, len.brown, Jesse Barnes

Hi,

There is a bug in the ACPI code found in 2.6.1-mm3 where if it can't
find the interrupt source for the ACPI System Control Interrupt Handler,
it end up trying to free irq 0.

Included patch fixes the problem.

Cheers,
Jes

--- linux-2.6.1-mm3/drivers/acpi/osl.c~	Wed Jan 14 05:00:25 2004
+++ linux-2.6.1-mm3/drivers/acpi/osl.c	Thu Jan 15 06:43:28 2004
@@ -257,13 +257,13 @@
 		return AE_OK;
 	}
 #endif
-	acpi_irq_irq = irq;
 	acpi_irq_handler = handler;
 	acpi_irq_context = context;
 	if (request_irq(irq, acpi_irq, SA_SHIRQ, "acpi", acpi_irq)) {
 		printk(KERN_ERR PREFIX "SCI (IRQ%d) allocation failed\n", irq);
 		return AE_NOT_ACQUIRED;
 	}
+	acpi_irq_irq = irq;
 
 	return AE_OK;
 }
@@ -271,12 +271,13 @@
 acpi_status
 acpi_os_remove_interrupt_handler(u32 irq, OSD_HANDLER handler)
 {
-	if (acpi_irq_handler) {
+	if (irq) {
 #if defined(CONFIG_IA64) || defined(CONFIG_PCI_USE_VECTOR)
 		irq = acpi_irq_to_vector(irq);
 #endif
 		free_irq(irq, acpi_irq);
 		acpi_irq_handler = NULL;
+		acpi_irq_irq = 0;
 	}
 
 	return AE_OK;

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2004-01-26 20:32 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-01-15 17:19 [patch] 2.6.1-mm3 acpi frees free irq0 Brown, Len
2004-01-15 22:01 ` Jes Sorensen
  -- strict thread matches above, loose matches on Subject: below --
2004-01-18  6:29 Yu, Luming
2004-01-19  7:59 ` Jes Sorensen
2004-01-15 14:56 Jes Sorensen
2004-01-26 20:30 ` Len Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox