tty/n_gsm: fix bug in tiocmset

Clear bitmask was not inverted before masking modem_tx.

Calling ioctl(fd, TIOCMBIC, TIOCM_RTS) results in:

[  197.430000] pre_modem_tx:	0x00000006
[  197.430000] clear:			0x00000004
[  197.430000] set:			0x00000000
[  197.440000] post_modem_tx:	0x00000004

which is wrong.

Signed-off-by: Nikola Diklic-Perin <diklic.perin.nikola@gmail.com>
Acked-by: Alan Cox <alan@linx.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Nikola Diklic-Perin 2011-09-23 10:59:43 +02:00 committed by Greg Kroah-Hartman
parent fd01a7a1bf
commit cf16807b61

View File

@ -2989,7 +2989,7 @@ static int gsmtty_tiocmset(struct tty_struct *tty,
struct gsm_dlci *dlci = tty->driver_data;
unsigned int modem_tx = dlci->modem_tx;
modem_tx &= clear;
modem_tx &= ~clear;
modem_tx |= set;
if (modem_tx != dlci->modem_tx) {