summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Starke <daniel.starke@siemens.com>2022-07-07 14:32:21 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-08-17 15:24:06 +0300
commitc94ea1a49eb8d83bd75a9ea0c95f120ef116658d (patch)
treee24c3e03ad62acb5001e19c9c5124267d11eee88
parentfdcd4b0652248a91e3775f1464ccc0601f38044f (diff)
downloadlinux-c94ea1a49eb8d83bd75a9ea0c95f120ef116658d.tar.xz
tty: n_gsm: fix DM command
[ Upstream commit 18a948c7d90995d127785e308fa7b701df4c499f ] 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.3.3 defines the DM response. There exists no DM command. However, the current implementation incorrectly sends DM as command in case of unexpected UIH frames in gsm_queue(). Correct this behavior by always sending DM as response. Fixes: e1eaea46bb40 ("tty: n_gsm line discipline") Signed-off-by: Daniel Starke <daniel.starke@siemens.com> Link: https://lore.kernel.org/r/20220707113223.3685-2-daniel.starke@siemens.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--drivers/tty/n_gsm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c
index 35504e7e6a35..7a82fff7f5fe 100644
--- a/drivers/tty/n_gsm.c
+++ b/drivers/tty/n_gsm.c
@@ -2148,7 +2148,7 @@ static void gsm_queue(struct gsm_mux *gsm)
goto invalid;
#endif
if (dlci == NULL || dlci->state != DLCI_OPEN) {
- gsm_command(gsm, address, DM|PF);
+ gsm_response(gsm, address, DM|PF);
return;
}
dlci->data(dlci, gsm->buf, gsm->len);