[PATCH 2/2 Resubmit] tty/8250 Add XR17D15x devices to the exar_handle_irq override

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxxxxxxx>
---
Built against tty-next commit: 1e619a1bf9ac878e6a984e4e279ccf712a65bc23

This depends on my previous patch submission:
[PATCH v3] Add support for new devices: Exar's XR17V35x family of
multi-port PCIe UARTs

 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 44be636..1cda869 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;
 }

-- 
1.7.2.5
--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux