diff options
author | Alan Cox <alan@lxorguk.ukuu.org.uk> | 2007-07-16 02:41:47 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-16 12:05:51 -0400 |
commit | db0ef08efa1bb94ba9a9e44c255d9058df5fde8d (patch) | |
tree | 913dfdd8863c428274c595d1d1094e522b37c19f /drivers | |
parent | 24da1cbff9cfce50868c2dfdcda82a68ac5cb707 (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')
-rw-r--r-- | drivers/char/amiserial.c | 7 |
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 */ |