From 1a7c68117865882cc945e1e2597ec4a3ab7b45ff Mon Sep 17 00:00:00 2001 From: Kenji Kaneshige Date: Thu, 28 Jul 2005 14:42:00 -0400 Subject: [PATCH] --- yaml --- r: 7800 b: refs/heads/master c: 58e0276245f6c60119f0384e7eca576b08aa89e2 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/serial/8250_acpi.c | 20 ++++++++++++++++---- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index ef8072b3b25d..8ed771a7a801 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 71df30f8e3e97fde573c41df063c2d66c1ad01b0 +refs/heads/master: 58e0276245f6c60119f0384e7eca576b08aa89e2 diff --git a/trunk/drivers/serial/8250_acpi.c b/trunk/drivers/serial/8250_acpi.c index 6b9ead288517..a802bdce6e5d 100644 --- a/trunk/drivers/serial/8250_acpi.c +++ b/trunk/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; }