aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/serial/bfin_5xx.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/serial/bfin_5xx.c')
-rw-r--r--drivers/serial/bfin_5xx.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/serial/bfin_5xx.c b/drivers/serial/bfin_5xx.c
index 96f7e7484fee..511cbf687877 100644
--- a/drivers/serial/bfin_5xx.c
+++ b/drivers/serial/bfin_5xx.c
@@ -797,7 +797,7 @@ static void bfin_serial_shutdown(struct uart_port *port)
797 gpio_free(uart->rts_pin); 797 gpio_free(uart->rts_pin);
798#endif 798#endif
799#ifdef CONFIG_SERIAL_BFIN_HARD_CTSRTS 799#ifdef CONFIG_SERIAL_BFIN_HARD_CTSRTS
800 if (UART_GET_IER(uart) && EDSSI) 800 if (UART_GET_IER(uart) & EDSSI)
801 free_irq(uart->status_irq, uart); 801 free_irq(uart->status_irq, uart);
802#endif 802#endif
803} 803}
@@ -869,7 +869,12 @@ bfin_serial_set_termios(struct uart_port *port, struct ktermios *termios,
869 } 869 }
870 870
871 baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk/16); 871 baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk/16);
872 quot = uart_get_divisor(port, baud) - ANOMALY_05000230; 872 quot = uart_get_divisor(port, baud);
873
874 /* If discipline is not IRDA, apply ANOMALY_05000230 */
875 if (termios->c_line != N_IRDA)
876 quot -= ANOMALY_05000230;
877
873 spin_lock_irqsave(&uart->port.lock, flags); 878 spin_lock_irqsave(&uart->port.lock, flags);
874 879
875 UART_SET_ANOMALY_THRESHOLD(uart, USEC_PER_SEC / baud * 15); 880 UART_SET_ANOMALY_THRESHOLD(uart, USEC_PER_SEC / baud * 15);