aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/tty/serial/men_z135_uart.c
diff options
context:
space:
mode:
authorJohannes Thumshirn <johannes.thumshirn@men.de>2014-05-12 10:34:59 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-05-28 12:27:22 -0700
commit10389e66231f1abdf27caa61b822b59dc2fd86b8 (patch)
tree4b33a11cf1711c4c89926bd618867df62f809a7e /drivers/tty/serial/men_z135_uart.c
parentserial: st-asc: Fix data corruption during long console bursts (diff)
downloadlinux-dev-10389e66231f1abdf27caa61b822b59dc2fd86b8.tar.xz
linux-dev-10389e66231f1abdf27caa61b822b59dc2fd86b8.zip
tty: serial: men_z135_uart: Don't activate TX Space available IRQ on startup
Don't activate the TX Space available IRQ on startup, or a simple $ cat /dev/ttyHSU0 will cause an endless amount of IRQs, as there is always space in the TX FIFO available if no data is going to be sent. Also correct comments for IRQ names (RX and TX swapped). Signed-off-by: Johannes Thumshirn <johannes.thumshirn@men.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/serial/men_z135_uart.c')
-rw-r--r--drivers/tty/serial/men_z135_uart.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/tty/serial/men_z135_uart.c b/drivers/tty/serial/men_z135_uart.c
index d08eb5d8330d..c9d18548783a 100644
--- a/drivers/tty/serial/men_z135_uart.c
+++ b/drivers/tty/serial/men_z135_uart.c
@@ -41,8 +41,8 @@
#define IS_IRQ(x) ((x) & 1)
#define IRQ_ID(x) (((x) >> 1) & 7)
-#define MEN_Z135_IER_RXCIEN BIT(0) /* TX Space IRQ */
-#define MEN_Z135_IER_TXCIEN BIT(1) /* RX Space IRQ */
+#define MEN_Z135_IER_RXCIEN BIT(0) /* RX Space IRQ */
+#define MEN_Z135_IER_TXCIEN BIT(1) /* TX Space IRQ */
#define MEN_Z135_IER_RLSIEN BIT(2) /* Receiver Line Status IRQ */
#define MEN_Z135_IER_MSIEN BIT(3) /* Modem Status IRQ */
#define MEN_Z135_ALL_IRQS (MEN_Z135_IER_RXCIEN \
@@ -576,7 +576,8 @@ static int men_z135_startup(struct uart_port *port)
conf_reg = ioread32(port->membase + MEN_Z135_CONF_REG);
- conf_reg |= MEN_Z135_ALL_IRQS;
+ /* Activate all but TX space available IRQ */
+ conf_reg |= MEN_Z135_ALL_IRQS & ~MEN_Z135_IER_TXCIEN;
conf_reg &= ~(0xff << 16);
conf_reg |= (txlvl << 16);
conf_reg |= (rxlvl << 20);