diff options
author | Matt Schulte <matts@commtech-fastcom.com> | 2012-11-21 10:40:49 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-11-21 19:30:03 -0500 |
commit | 30fa96a34694d93bf76311944c9521bbcdd4e58e (patch) | |
tree | fefa64ed64aa9d180a577bd269b6263b7d44ea41 /drivers/tty/serial/8250 | |
parent | 81db0772dc16b31185418f51ce6a1c0098a84367 (diff) |
tty/8250 Add XR17D15x devices to the exar_handle_irq override
Add XR17D15x devices to the exar_handle_irq override: they have the
same extra interrupt register that could fire and never be serviced by
the standard handle_irq.
Signed-off-by: Matt Schulte <matts@commtech-fastcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/serial/8250')
-rw-r--r-- | drivers/tty/serial/8250/8250.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/tty/serial/8250/8250.c b/drivers/tty/serial/8250/8250.c index 4ab8af797ad9..d085e3a8ec06 100644 --- a/drivers/tty/serial/8250/8250.c +++ b/drivers/tty/serial/8250/8250.c | |||
@@ -1578,7 +1578,8 @@ static int exar_handle_irq(struct uart_port *port) | |||
1578 | 1578 | ||
1579 | ret = serial8250_handle_irq(port, iir); | 1579 | ret = serial8250_handle_irq(port, iir); |
1580 | 1580 | ||
1581 | if (port->type == PORT_XR17V35X) { | 1581 | if ((port->type == PORT_XR17V35X) || |
1582 | (port->type == PORT_XR17D15X)) { | ||
1582 | int0 = serial_port_in(port, 0x80); | 1583 | int0 = serial_port_in(port, 0x80); |
1583 | int1 = serial_port_in(port, 0x81); | 1584 | int1 = serial_port_in(port, 0x81); |
1584 | int2 = serial_port_in(port, 0x82); | 1585 | int2 = serial_port_in(port, 0x82); |
@@ -2689,7 +2690,8 @@ static void serial8250_config_port(struct uart_port *port, int flags) | |||
2689 | serial8250_release_std_resource(up); | 2690 | serial8250_release_std_resource(up); |
2690 | 2691 | ||
2691 | /* Fixme: probably not the best place for this */ | 2692 | /* Fixme: probably not the best place for this */ |
2692 | if (port->type == PORT_XR17V35X) | 2693 | if ((port->type == PORT_XR17V35X) || |
2694 | (port->type == PORT_XR17D15X)) | ||
2693 | port->handle_irq = exar_handle_irq; | 2695 | port->handle_irq = exar_handle_irq; |
2694 | } | 2696 | } |
2695 | 2697 | ||