]> git.baikalelectronics.ru Git - kernel.git/commit
tty: n_gsm: fix mux cleanup after unregister tty device
authorDaniel Starke <daniel.starke@siemens.com>
Thu, 14 Apr 2022 09:42:09 +0000 (02:42 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 Apr 2022 06:36:04 +0000 (08:36 +0200)
commit77d7ee973051e5dc6be53517b2a8208e074dc28f
tree5750a2ee9c147293a9aa4c0581b5fe43c5292e68
parent6f6e76fca5c6e2c89efda3980a3f076cec95d2b3
tty: n_gsm: fix mux cleanup after unregister tty device

Internally, we manage the alive state of the mux channels and mux itself
with the field member 'dead'. This makes it possible to notify the user
if the accessed underlying link is already gone. On the other hand,
however, removing the virtual ttys before terminating the channels may
result in peer messages being received without any internal target. Move
the mux cleanup procedure from gsmld_detach_gsm() to gsmld_close() to fix
this by keeping the virtual ttys open until the mux has been cleaned up.

Fixes: 99551fa31543 ("tty: n_gsm line discipline")
Cc: stable@vger.kernel.org
Signed-off-by: Daniel Starke <daniel.starke@siemens.com>
Link: https://lore.kernel.org/r/20220414094225.4527-4-daniel.starke@siemens.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/n_gsm.c