summaryrefslogtreecommitdiff
path: root/drivers/acpi/pci_irq.c
diff options
context:
space:
mode:
authorKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>2005-07-28 22:42:00 +0400
committerLen Brown <len.brown@intel.com>2005-08-05 06:15:06 +0400
commit349f0d5640c18db09a646f9da51a97f1da908660 (patch)
treec340e1e80b99966c7f00b961eac34f48c3ceebe3 /drivers/acpi/pci_irq.c
parent1f3a6a15771ed70d3b2581663dcc6b9bc134baa5 (diff)
downloadlinux-349f0d5640c18db09a646f9da51a97f1da908660.tar.xz
[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.c9
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 (
int edge_level = ACPI_LEVEL_SENSITIVE;
int active_high_low = ACPI_ACTIVE_LOW;
char *link = NULL;
+ int rc;
ACPI_FUNCTION_TRACE("acpi_pci_irq_enable");
@@ -475,7 +476,13 @@ acpi_pci_irq_enable (
}
}
- dev->irq = acpi_register_gsi(irq, edge_level, active_high_low);
+ rc = acpi_register_gsi(irq, edge_level, active_high_low);
+ if (rc < 0) {
+ printk(KERN_WARNING PREFIX "PCI Interrupt %s[%c]: failed "
+ "to register GSI\n", pci_name(dev), ('A' + pin));
+ return_VALUE(rc);
+ }
+ dev->irq = rc;
printk(KERN_INFO PREFIX "PCI Interrupt %s[%c] -> ",
pci_name(dev), 'A' + pin);