diff options
author | Len Brown <len.brown@intel.com> | 2005-08-05 00:31:42 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2005-08-05 00:31:42 -0400 |
commit | 1d492eb41371d9a5145651e8eb64bea1042a4057 (patch) | |
tree | 2a66a8fd347cf8dd8a665c4575b30d873035a5a4 /drivers/serial | |
parent | 5d2a22079c825669d91a3a200332f1053b4b61b0 (diff) | |
parent | cbfc1bae55bbd053308ef0fa6b6448cd1ddf3e67 (diff) |
[ACPI] Merge acpi-2.6.12 branch into 2.6.13-rc3
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/serial')
-rw-r--r-- | drivers/serial/8250_acpi.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/drivers/serial/8250_acpi.c b/drivers/serial/8250_acpi.c index 6b9ead288517..a802bdce6e5d 100644 --- a/drivers/serial/8250_acpi.c +++ b/drivers/serial/8250_acpi.c @@ -47,18 +47,30 @@ static acpi_status acpi_serial_port(struct uart_port *port, static acpi_status acpi_serial_ext_irq(struct uart_port *port, struct acpi_resource_ext_irq *ext_irq) { - if (ext_irq->number_of_interrupts > 0) - port->irq = acpi_register_gsi(ext_irq->interrupts[0], + int rc; + + if (ext_irq->number_of_interrupts > 0) { + rc = acpi_register_gsi(ext_irq->interrupts[0], ext_irq->edge_level, ext_irq->active_high_low); + if (rc < 0) + return AE_ERROR; + port->irq = rc; + } return AE_OK; } static acpi_status acpi_serial_irq(struct uart_port *port, struct acpi_resource_irq *irq) { - if (irq->number_of_interrupts > 0) - port->irq = acpi_register_gsi(irq->interrupts[0], + int rc; + + if (irq->number_of_interrupts > 0) { + rc = acpi_register_gsi(irq->interrupts[0], irq->edge_level, irq->active_high_low); + if (rc < 0) + return AE_ERROR; + port->irq = rc; + } return AE_OK; } |