From: Matt Schulte Date: Wed, 21 Nov 2012 15:40:49 +0000 (-0600) Subject: tty/8250 Add XR17D15x devices to the exar_handle_irq override X-Git-Tag: next-20121205~28^2~19 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=30fa96a34694d93bf76311944c9521bbcdd4e58e;p=karo-tx-linux.git 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 Signed-off-by: Greg Kroah-Hartman --- 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) ret = serial8250_handle_irq(port, iir); - if (port->type == PORT_XR17V35X) { + if ((port->type == PORT_XR17V35X) || + (port->type == PORT_XR17D15X)) { int0 = serial_port_in(port, 0x80); int1 = serial_port_in(port, 0x81); int2 = serial_port_in(port, 0x82); @@ -2689,7 +2690,8 @@ static void serial8250_config_port(struct uart_port *port, int flags) serial8250_release_std_resource(up); /* Fixme: probably not the best place for this */ - if (port->type == PORT_XR17V35X) + if ((port->type == PORT_XR17V35X) || + (port->type == PORT_XR17D15X)) port->handle_irq = exar_handle_irq; }