aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/serial')
-rw-r--r--drivers/serial/8250_acpi.c20
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,
47static acpi_status acpi_serial_ext_irq(struct uart_port *port, 47static acpi_status acpi_serial_ext_irq(struct uart_port *port,
48 struct acpi_resource_ext_irq *ext_irq) 48 struct acpi_resource_ext_irq *ext_irq)
49{ 49{
50 if (ext_irq->number_of_interrupts > 0) 50 int rc;
51 port->irq = acpi_register_gsi(ext_irq->interrupts[0], 51
52 if (ext_irq->number_of_interrupts > 0) {
53 rc = acpi_register_gsi(ext_irq->interrupts[0],
52 ext_irq->edge_level, ext_irq->active_high_low); 54 ext_irq->edge_level, ext_irq->active_high_low);
55 if (rc < 0)
56 return AE_ERROR;
57 port->irq = rc;
58 }
53 return AE_OK; 59 return AE_OK;
54} 60}
55 61
56static acpi_status acpi_serial_irq(struct uart_port *port, 62static acpi_status acpi_serial_irq(struct uart_port *port,
57 struct acpi_resource_irq *irq) 63 struct acpi_resource_irq *irq)
58{ 64{
59 if (irq->number_of_interrupts > 0) 65 int rc;
60 port->irq = acpi_register_gsi(irq->interrupts[0], 66
67 if (irq->number_of_interrupts > 0) {
68 rc = acpi_register_gsi(irq->interrupts[0],
61 irq->edge_level, irq->active_high_low); 69 irq->edge_level, irq->active_high_low);
70 if (rc < 0)
71 return AE_ERROR;
72 port->irq = rc;
73 }
62 return AE_OK; 74 return AE_OK;
63} 75}
64 76