* 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