From: Daniel Starke <daniel.starke@xxxxxxxxxxx> 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.3.1 states the CR bit in UI and UIH frames shall always be set 1 by the initiator and 0 by the responder. Currently, gsm_queue() has a pre-processor gated (excluded) check which treats all frames that conform to the standard as malformed frames. Remove this optional code to avoid confusion and possible breaking changes in case that someone includes it. Fixes: e1eaea46bb40 ("tty: n_gsm line discipline") Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Daniel Starke <daniel.starke@xxxxxxxxxxx> --- drivers/tty/n_gsm.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c index e9a7d9483c1f..f4ec48c0d6d7 100644 --- a/drivers/tty/n_gsm.c +++ b/drivers/tty/n_gsm.c @@ -1896,10 +1896,6 @@ static void gsm_queue(struct gsm_mux *gsm) case UI|PF: case UIH: case UIH|PF: -#if 0 - if (cr) - goto invalid; -#endif if (dlci == NULL || dlci->state != DLCI_OPEN) { gsm_command(gsm, address, DM|PF); return; -- 2.25.1