diff options
author | Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> | 2005-07-28 14:42:00 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2005-08-04 22:15:06 -0400 |
commit | 349f0d5640c18db09a646f9da51a97f1da908660 (patch) | |
tree | c340e1e80b99966c7f00b961eac34f48c3ceebe3 /drivers/acpi/pci_irq.c | |
parent | 1f3a6a15771ed70d3b2581663dcc6b9bc134baa5 (diff) |
[ACPI] acpi_pci_enable_irq() now checks for acpi_register_gsi() errors
Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/pci_irq.c')
-rw-r--r-- | drivers/acpi/pci_irq.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/acpi/pci_irq.c b/drivers/acpi/pci_irq.c index c536ccfc5413..7ed4b2ef265f 100644 --- a/drivers/acpi/pci_irq.c +++ b/drivers/acpi/pci_irq.c | |||
@@ -424,6 +424,7 @@ acpi_pci_irq_enable ( | |||
424 | int edge_level = ACPI_LEVEL_SENSITIVE; | 424 | int edge_level = ACPI_LEVEL_SENSITIVE; |
425 | int active_high_low = ACPI_ACTIVE_LOW; | 425 | int active_high_low = ACPI_ACTIVE_LOW; |
426 | char *link = NULL; | 426 | char *link = NULL; |
427 | int rc; | ||
427 | 428 | ||
428 | ACPI_FUNCTION_TRACE("acpi_pci_irq_enable"); | 429 | ACPI_FUNCTION_TRACE("acpi_pci_irq_enable"); |
429 | 430 | ||
@@ -475,7 +476,13 @@ acpi_pci_irq_enable ( | |||
475 | } | 476 | } |
476 | } | 477 | } |
477 | 478 | ||
478 | dev->irq = acpi_register_gsi(irq, edge_level, active_high_low); | 479 | rc = acpi_register_gsi(irq, edge_level, active_high_low); |
480 | if (rc < 0) { | ||
481 | printk(KERN_WARNING PREFIX "PCI Interrupt %s[%c]: failed " | ||
482 | "to register GSI\n", pci_name(dev), ('A' + pin)); | ||
483 | return_VALUE(rc); | ||
484 | } | ||
485 | dev->irq = rc; | ||
479 | 486 | ||
480 | printk(KERN_INFO PREFIX "PCI Interrupt %s[%c] -> ", | 487 | printk(KERN_INFO PREFIX "PCI Interrupt %s[%c] -> ", |
481 | pci_name(dev), 'A' + pin); | 488 | pci_name(dev), 'A' + pin); |