commit: http://blackfin.uclinux.org/git/?p=linux-kernel;a=commitdiff;h=f881395bfc9a62e12d903c8ebe4b2b254de2c3df
branch: http://blackfin.uclinux.org/git/?p=linux-kernel;a=shortlog;h=refs/heads/2012R1

No need to touch serial interrupts mask.

Signed-off-by: Sonic Zhang <[email protected]>
---
 drivers/tty/serial/bfin_uart.c |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/tty/serial/bfin_uart.c b/drivers/tty/serial/bfin_uart.c
index 0f937e7..75af335 100644
--- a/drivers/tty/serial/bfin_uart.c
+++ b/drivers/tty/serial/bfin_uart.c
@@ -760,6 +760,9 @@ static void bfin_serial_shutdown(struct uart_port *port)
 {
 	struct bfin_serial_port *uart = (struct bfin_serial_port *)port;
 
+	UART_SET_IER(uart, 0);
+	UART_PUT_GCTL(uart, 0);
+
 #ifdef CONFIG_SERIAL_BFIN_DMA
 	disable_dma(uart->tx_dma_channel);
 	free_dma(uart->tx_dma_channel);
@@ -805,7 +808,7 @@ bfin_serial_set_termios(struct uart_port *port, struct ktermios *termios,
 	struct bfin_serial_port *uart = (struct bfin_serial_port *)port;
 	unsigned long flags;
 	unsigned int baud, quot;
-	unsigned int val, ier, lcr = 0;
+	unsigned int val, lcr = 0;
 
 	switch (termios->c_cflag & CSIZE) {
 	case CS8:
@@ -876,8 +879,9 @@ bfin_serial_set_termios(struct uart_port *port, struct ktermios *termios,
 	UART_SET_ANOMALY_THRESHOLD(uart, USEC_PER_SEC / baud * 15);
 
 	/* Disable UART */
-	ier = UART_GET_IER(uart);
-	UART_DISABLE_INTS(uart);
+	val = UART_GET_GCTL(uart);
+	val &= ~UCEN;
+	UART_PUT_GCTL(uart, val);
 
 	/* Set DLAB in LCR to Access CLK */
 	UART_SET_DLAB(uart);
@@ -891,8 +895,6 @@ bfin_serial_set_termios(struct uart_port *port, struct ktermios *termios,
 	UART_PUT_LCR(uart, (UART_GET_LCR(uart) & ~LCR_MASK) | lcr);
 
 	/* Enable UART */
-	UART_ENABLE_INTS(uart, ier);
-
 	val = UART_GET_GCTL(uart);
 	val |= UCEN;
 	UART_PUT_GCTL(uart, val);
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to