Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cf16807b authored by Nikola Diklic-Perin's avatar Nikola Diklic-Perin Committed by Greg Kroah-Hartman
Browse files

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: default avatarNikola Diklic-Perin <diklic.perin.nikola@gmail.com>
Acked-by: default avatarAlan Cox <alan@linx.intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent fd01a7a1
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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) {