diff options
Diffstat (limited to 'drivers/serial/ioc4_serial.c')
-rw-r--r-- | drivers/serial/ioc4_serial.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/drivers/serial/ioc4_serial.c b/drivers/serial/ioc4_serial.c index d054f1265701..f94d2e712cad 100644 --- a/drivers/serial/ioc4_serial.c +++ b/drivers/serial/ioc4_serial.c | |||
@@ -1765,8 +1765,11 @@ ioc4_change_speed(struct uart_port *the_port, | |||
1765 | the_port->ignore_status_mask &= ~N_DATA_READY; | 1765 | the_port->ignore_status_mask &= ~N_DATA_READY; |
1766 | } | 1766 | } |
1767 | 1767 | ||
1768 | if (cflag & CRTSCTS) | 1768 | if (cflag & CRTSCTS) { |
1769 | info->flags |= ASYNC_CTS_FLOW; | 1769 | info->flags |= ASYNC_CTS_FLOW; |
1770 | port->ip_sscr |= IOC4_SSCR_HFC_EN; | ||
1771 | writel(port->ip_sscr, &port->ip_serial_regs->sscr); | ||
1772 | } | ||
1770 | else | 1773 | else |
1771 | info->flags &= ~ASYNC_CTS_FLOW; | 1774 | info->flags &= ~ASYNC_CTS_FLOW; |
1772 | 1775 | ||
@@ -1825,12 +1828,6 @@ static inline int ic4_startup_local(struct uart_port *the_port) | |||
1825 | /* set the speed of the serial port */ | 1828 | /* set the speed of the serial port */ |
1826 | ioc4_change_speed(the_port, info->tty->termios, (struct termios *)0); | 1829 | ioc4_change_speed(the_port, info->tty->termios, (struct termios *)0); |
1827 | 1830 | ||
1828 | /* enable hardware flow control - after ioc4_change_speed because | ||
1829 | * ASYNC_CTS_FLOW is set there */ | ||
1830 | if (info->flags & ASYNC_CTS_FLOW) { | ||
1831 | port->ip_sscr |= IOC4_SSCR_HFC_EN; | ||
1832 | writel(port->ip_sscr, &port->ip_serial_regs->sscr); | ||
1833 | } | ||
1834 | info->flags |= UIF_INITIALIZED; | 1831 | info->flags |= UIF_INITIALIZED; |
1835 | return 0; | 1832 | return 0; |
1836 | } | 1833 | } |