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

Commit c03a4958 authored by daniel.starke@siemens.com's avatar daniel.starke@siemens.com Committed by Greg Kroah-Hartman
Browse files

tty: n_gsm: fix proper link termination after failed open



commit e3b7468f082d106459e86e8dc6fb9bdd65553433 upstream.

Trying to open a DLCI by sending a SABM frame may fail with a timeout.
The link is closed on the initiator side without informing the responder
about this event. The responder assumes the link is open after sending a
UA frame to answer the SABM frame. The link gets stuck in a half open
state.

This patch fixes this by initiating the proper link termination procedure
after link setup timeout instead of silently closing it down.

Fixes: e1eaea46 ("tty: n_gsm line discipline")
Cc: stable@vger.kernel.org
Signed-off-by: default avatarDaniel Starke <daniel.starke@siemens.com>
Link: https://lore.kernel.org/r/20220218073123.2121-3-daniel.starke@siemens.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 912144e8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1490,7 +1490,7 @@ static void gsm_dlci_t1(struct timer_list *t)
			dlci->mode = DLCI_MODE_ADM;
			gsm_dlci_open(dlci);
		} else {
			gsm_dlci_close(dlci);
			gsm_dlci_begin_close(dlci); /* prevent half open link */
		}

		break;