public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* Badness in iosapic_unregister_intr
@ 2005-02-28 18:06 Matthew Wilcox
  2005-02-28 18:50 ` Grant Grundler
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Matthew Wilcox @ 2005-02-28 18:06 UTC (permalink / raw)
  To: linux-ia64


Not sure where the problem lies on this one ...

On an hp rx4640, at shutdown of an unmodified 2.6.11-rc5 kernel, I get:

Rebooting... ACPI: PCI interrupt for device 0000:a1:04.0 disabled
iosapic_unregister_intr(4294967295) unbalanced
Badness in iosapic_unregister_intr at arch/ia64/kernel/iosapic.c:636
ACPI: PCI interrupt for device 0000:a1:04.1 disabled
iosapic_unregister_intr(4294967295) unbalanced
Badness in iosapic_unregister_intr at arch/ia64/kernel/iosapic.c:636
ACPI: PCI interrupt for device 0000:a1:06.0 disabled
iosapic_unregister_intr(4294967295) unbalanced
Badness in iosapic_unregister_intr at arch/ia64/kernel/iosapic.c:636
ACPI: PCI interrupt for device 0000:a1:06.1 disabled
iosapic_unregister_intr(4294967295) unbalanced
Badness in iosapic_unregister_intr at arch/ia64/kernel/iosapic.c:636

Anyone else seeing it?  I wonder if it only happens for devices behind
a PCI-PCI bridge:

0000:a0:02.0 PCI bridge: IBM PCI-X to PCI-X Bridge (rev 02)
0000:a1:04.0 Ethernet controller: Intel Corp. 82546EB Gigabit Ethernet Controller (rev 01)
0000:a1:04.1 Ethernet controller: Intel Corp. 82546EB Gigabit Ethernet Controller (rev 01)
0000:a1:06.0 Ethernet controller: Intel Corp. 82546EB Gigabit Ethernet Controller (rev 01)
0000:a1:06.1 Ethernet controller: Intel Corp. 82546EB Gigabit Ethernet Controller (rev 01)

-- 
"Next the statesmen will invent cheap lies, putting the blame upon 
the nation that is attacked, and every man will be glad of those
conscience-soothing falsities, and will diligently study them, and refuse
to examine any refutations of them; and thus he will by and by convince 
himself that the war is just, and will thank God for the better sleep 
he enjoys after this process of grotesque self-deception." -- Mark Twain

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

* Re: Badness in iosapic_unregister_intr
  2005-02-28 18:06 Badness in iosapic_unregister_intr Matthew Wilcox
@ 2005-02-28 18:50 ` Grant Grundler
  2005-03-01  4:51 ` Kenji Kaneshige
  2005-03-01 13:01 ` Matthew Wilcox
  2 siblings, 0 replies; 4+ messages in thread
From: Grant Grundler @ 2005-02-28 18:50 UTC (permalink / raw)
  To: linux-ia64

On Mon, Feb 28, 2005 at 06:06:00PM +0000, Matthew Wilcox wrote:
> 
> Not sure where the problem lies on this one ...
> 
> On an hp rx4640, at shutdown of an unmodified 2.6.11-rc5 kernel, I get:
> 
> Rebooting... ACPI: PCI interrupt for device 0000:a1:04.0 disabled
> iosapic_unregister_intr(4294967295) unbalanced

4294967295 can't be a valid GSI.
Need a stack trace to see who is calling iosapic_unregister_intr.

grant

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

* Re: Badness in iosapic_unregister_intr
  2005-02-28 18:06 Badness in iosapic_unregister_intr Matthew Wilcox
  2005-02-28 18:50 ` Grant Grundler
@ 2005-03-01  4:51 ` Kenji Kaneshige
  2005-03-01 13:01 ` Matthew Wilcox
  2 siblings, 0 replies; 4+ messages in thread
From: Kenji Kaneshige @ 2005-03-01  4:51 UTC (permalink / raw)
  To: linux-ia64

Hi Matthew,

Matthew Wilcox wrote:
> Not sure where the problem lies on this one ...
> 
> On an hp rx4640, at shutdown of an unmodified 2.6.11-rc5 kernel, I get:
> 
> Rebooting... ACPI: PCI interrupt for device 0000:a1:04.0 disabled
> iosapic_unregister_intr(4294967295) unbalanced
> Badness in iosapic_unregister_intr at arch/ia64/kernel/iosapic.c:636
> ACPI: PCI interrupt for device 0000:a1:04.1 disabled
> iosapic_unregister_intr(4294967295) unbalanced
> Badness in iosapic_unregister_intr at arch/ia64/kernel/iosapic.c:636
> ACPI: PCI interrupt for device 0000:a1:06.0 disabled
> iosapic_unregister_intr(4294967295) unbalanced
> Badness in iosapic_unregister_intr at arch/ia64/kernel/iosapic.c:636
> ACPI: PCI interrupt for device 0000:a1:06.1 disabled
> iosapic_unregister_intr(4294967295) unbalanced
> Badness in iosapic_unregister_intr at arch/ia64/kernel/iosapic.c:636
> 
> Anyone else seeing it?  I wonder if it only happens for devices behind
> a PCI-PCI bridge:
> 
> 0000:a0:02.0 PCI bridge: IBM PCI-X to PCI-X Bridge (rev 02)
> 0000:a1:04.0 Ethernet controller: Intel Corp. 82546EB Gigabit Ethernet Controller (rev 01)
> 0000:a1:04.1 Ethernet controller: Intel Corp. 82546EB Gigabit Ethernet Controller (rev 01)
> 0000:a1:06.0 Ethernet controller: Intel Corp. 82546EB Gigabit Ethernet Controller (rev 01)
> 0000:a1:06.1 Ethernet controller: Intel Corp. 82546EB Gigabit Ethernet Controller (rev 01)
> 

I think the following patch will fix this problem.
Could you try it?

Thanks,
Kenji Kaneshige
--

This patch fix the error check in acpi_pci_irq_disable().

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>


---

 linux-2.6.11-rc5-kanesige/drivers/acpi/pci_irq.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff -puN drivers/acpi/pci_irq.c~fix_acpi_pci_irq_disable drivers/acpi/pci_irq.c
--- linux-2.6.11-rc5/drivers/acpi/pci_irq.c~fix_acpi_pci_irq_disable	2005-03-01 13:50:24.000000000 +0900
+++ linux-2.6.11-rc5-kanesige/drivers/acpi/pci_irq.c	2005-03-01 13:50:24.000000000 +0900
@@ -460,7 +460,7 @@ void
 acpi_pci_irq_disable (
 	struct pci_dev		*dev)
 {
-	u32			gsi = 0;
+	int			gsi = 0;
 	u8			pin = 0;
 	int			edge_level = ACPI_LEVEL_SENSITIVE;
 	int			active_high_low = ACPI_ACTIVE_LOW;
@@ -487,10 +487,10 @@ acpi_pci_irq_disable (
 	 * If no PRT entry was found, we'll try to derive an IRQ from the
 	 * device's parent bridge.
 	 */
-	if (!gsi)
+	if (gsi < 0)
  		gsi = acpi_pci_irq_derive(dev, pin,
 					  &edge_level, &active_high_low);
-	if (!gsi)
+	if (gsi < 0)
 		return_VOID;
 
 	/*

_


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

* Re: Badness in iosapic_unregister_intr
  2005-02-28 18:06 Badness in iosapic_unregister_intr Matthew Wilcox
  2005-02-28 18:50 ` Grant Grundler
  2005-03-01  4:51 ` Kenji Kaneshige
@ 2005-03-01 13:01 ` Matthew Wilcox
  2 siblings, 0 replies; 4+ messages in thread
From: Matthew Wilcox @ 2005-03-01 13:01 UTC (permalink / raw)
  To: linux-ia64

On Tue, Mar 01, 2005 at 01:51:48PM +0900, Kenji Kaneshige wrote:
> I think the following patch will fix this problem.
> Could you try it?

Yes, it does.  Thank you!

Rebooting... ACPI: PCI interrupt for device 0000:a1:04.0 disabled
GSI 60 (level, low) -> vector 51 unregisterd.
ACPI: PCI interrupt for device 0000:a1:04.1 disabled
GSI 61 (level, low) -> vector 52 unregisterd.
ACPI: PCI interrupt for device 0000:a1:06.0 disabled
GSI 62 (level, low) -> vector 53 unregisterd.
ACPI: PCI interrupt for device 0000:a1:06.1 disabled
GSI 63 (level, low) -> vector 54 unregisterd.
ACPI: PCI interrupt for device 0000:c0:01.0 disabled
GSI 71 (level, low) -> vector 55 unregisterd. 
Synchronizing SCSI cache for disk sdb:
Restarting system.

> Thanks,
> Kenji Kaneshige
> --
> 
> This patch fix the error check in acpi_pci_irq_disable().
> 
> Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
> 
> 
> ---
> 
> linux-2.6.11-rc5-kanesige/drivers/acpi/pci_irq.c |    6 +++---
> 1 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff -puN drivers/acpi/pci_irq.c~fix_acpi_pci_irq_disable 
> drivers/acpi/pci_irq.c
> --- linux-2.6.11-rc5/drivers/acpi/pci_irq.c~fix_acpi_pci_irq_disable 
> 2005-03-01 13:50:24.000000000 +0900
> +++ linux-2.6.11-rc5-kanesige/drivers/acpi/pci_irq.c	2005-03-01 
> 13:50:24.000000000 +0900
> @@ -460,7 +460,7 @@ void
> acpi_pci_irq_disable (
> 	struct pci_dev		*dev)
> {
> -	u32			gsi = 0;
> +	int			gsi = 0;
> 	u8			pin = 0;
> 	int			edge_level = ACPI_LEVEL_SENSITIVE;
> 	int			active_high_low = ACPI_ACTIVE_LOW;
> @@ -487,10 +487,10 @@ acpi_pci_irq_disable (
> 	 * If no PRT entry was found, we'll try to derive an IRQ from the
> 	 * device's parent bridge.
> 	 */
> -	if (!gsi)
> +	if (gsi < 0)
>  		gsi = acpi_pci_irq_derive(dev, pin,
> 					  &edge_level, &active_high_low);
> -	if (!gsi)
> +	if (gsi < 0)
> 		return_VOID;
> 
> 	/*
> 
> _
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

-- 
"Next the statesmen will invent cheap lies, putting the blame upon 
the nation that is attacked, and every man will be glad of those
conscience-soothing falsities, and will diligently study them, and refuse
to examine any refutations of them; and thus he will by and by convince 
himself that the war is just, and will thank God for the better sleep 
he enjoys after this process of grotesque self-deception." -- Mark Twain

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

end of thread, other threads:[~2005-03-01 13:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-02-28 18:06 Badness in iosapic_unregister_intr Matthew Wilcox
2005-02-28 18:50 ` Grant Grundler
2005-03-01  4:51 ` Kenji Kaneshige
2005-03-01 13:01 ` Matthew Wilcox

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