summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Starke <daniel.starke@siemens.com>2022-04-14 02:42:25 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-05-09 09:14:44 +0200
commitab49c23668ea6dd439c7539c301eacf6f970aea9 (patch)
treef142eb3b1e39ec1b97ca9e6d058fe2d9f1224e26
parente0a84ae1c6624441cae1481754cf3fbf36f32e70 (diff)
downloadlinux-ab49c23668ea6dd439c7539c301eacf6f970aea9.tar.gz
linux-ab49c23668ea6dd439c7539c301eacf6f970aea9.tar.bz2
linux-ab49c23668ea6dd439c7539c301eacf6f970aea9.zip
tty: n_gsm: fix incorrect UA handling
commit ff9166c623704337bd6fe66fce2838d9768a6634 upstream. n_gsm is based on the 3GPP 07.010 and its newer version is the 3GPP 27.010. See https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=1516 The changes from 07.010 to 27.010 are non-functional. Therefore, I refer to the newer 27.010 here. Chapter 5.4.4.2 states that any received unnumbered acknowledgment (UA) with its poll/final (PF) bit set to 0 shall be discarded. Currently, all UA frame are handled in the same way regardless of the PF bit. This does not comply with the standard. Remove the UA case in gsm_queue() to process only UA frames with PF bit set to 1 to abide the standard. Fixes: e1eaea46bb40 ("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-20-daniel.starke@siemens.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/tty/n_gsm.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c
index 6f0b155276b5..71ef0d4e5423 100644
--- a/drivers/tty/n_gsm.c
+++ b/drivers/tty/n_gsm.c
@@ -1816,7 +1816,6 @@ static void gsm_queue(struct gsm_mux *gsm)
gsm_response(gsm, address, UA);
gsm_dlci_close(dlci);
break;
- case UA:
case UA|PF:
if (cr == 0 || dlci == NULL)
break;