aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/amiserial.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/char/amiserial.c')
-rw-r--r--drivers/char/amiserial.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/drivers/char/amiserial.c b/drivers/char/amiserial.c
index 4eaceabd8cea..7b02bf1289a2 100644
--- a/drivers/char/amiserial.c
+++ b/drivers/char/amiserial.c
@@ -738,6 +738,7 @@ static void change_speed(struct async_struct *info,
738 } 738 }
739 /* If the quotient is zero refuse the change */ 739 /* If the quotient is zero refuse the change */
740 if (!quot && old_termios) { 740 if (!quot && old_termios) {
741 /* FIXME: Will need updating for new tty in the end */
741 info->tty->termios->c_cflag &= ~CBAUD; 742 info->tty->termios->c_cflag &= ~CBAUD;
742 info->tty->termios->c_cflag |= (old_termios->c_cflag & CBAUD); 743 info->tty->termios->c_cflag |= (old_termios->c_cflag & CBAUD);
743 baud = tty_get_baud_rate(info->tty); 744 baud = tty_get_baud_rate(info->tty);
@@ -783,7 +784,6 @@ static void change_speed(struct async_struct *info,
783 /* 784 /*
784 * Set up parity check flag 785 * Set up parity check flag
785 */ 786 */
786#define RELEVANT_IFLAG(iflag) (iflag & (IGNBRK|BRKINT|IGNPAR|PARMRK|INPCK))
787 787
788 info->read_status_mask = UART_LSR_OE | UART_LSR_DR; 788 info->read_status_mask = UART_LSR_OE | UART_LSR_DR;
789 if (I_INPCK(info->tty)) 789 if (I_INPCK(info->tty))
@@ -1367,11 +1367,6 @@ static void rs_set_termios(struct tty_struct *tty, struct ktermios *old_termios)
1367 unsigned long flags; 1367 unsigned long flags;
1368 unsigned int cflag = tty->termios->c_cflag; 1368 unsigned int cflag = tty->termios->c_cflag;
1369 1369
1370 if ( (cflag == old_termios->c_cflag)
1371 && ( RELEVANT_IFLAG(tty->termios->c_iflag)
1372 == RELEVANT_IFLAG(old_termios->c_iflag)))
1373 return;
1374
1375 change_speed(info, old_termios); 1370 change_speed(info, old_termios);
1376 1371
1377 /* Handle transition to B0 status */ 1372 /* Handle transition to B0 status */