aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/amiserial.c
diff options
context:
space:
mode:
authorAlan Cox <alan@lxorguk.ukuu.org.uk>2007-07-16 02:41:47 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-16 12:05:51 -0400
commitdb0ef08efa1bb94ba9a9e44c255d9058df5fde8d (patch)
tree913dfdd8863c428274c595d1d1094e522b37c19f /drivers/char/amiserial.c
parent24da1cbff9cfce50868c2dfdcda82a68ac5cb707 (diff)
amiserial: remove incorrect 'no termios change' check
Lots of serial drivers check and optimise for setting the termios values to the ones they were before. This is pointless and the check is wrong anyway. Remove the checks on the serial drivers. If we ever do need such a check put it back in the tty layer instead _once_! Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
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 4eaceabd8ce..7b02bf1289a 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 */