Re: [PATCH 1/1] tty: n_gsm: fix encoding of control signal octet bit DV

From: Greg KH
Date: Thu Feb 17 2022 - 04:56:52 EST


On Thu, Feb 17, 2022 at 12:05:49AM -0800, daniel.starke@xxxxxxxxxxx wrote:
> 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.6.3.7 describes the encoding of the
> control signal octet used by the MSC (modem status command). The same
> encoding is also used in convergence layer type 2 as described in chapter
> 5.5.2. Table 7 and 24 both require the DV (data valid) bit to be set 1 for
> outgoing control signal octets sent by the DTE (data terminal equipment),
> i.e. for the initiator side.
> Currently, the DV bit is only set if CD (carrier detect) is on, regardless
> of the side.
>
> This patch fixes this behavior by setting the DV bit on the initiator side
> unconditionally.
>
> Fixes: e1eaea46bb40 ("tty: n_gsm line discipline")
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Daniel Starke <daniel.starke@xxxxxxxxxxx>
> ---
> drivers/tty/n_gsm.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c
> index 0b1808e3a912..e199315a158e 100644
> --- a/drivers/tty/n_gsm.c
> +++ b/drivers/tty/n_gsm.c
> @@ -439,7 +439,7 @@ static u8 gsm_encode_modem(const struct gsm_dlci *dlci)
> modembits |= MDM_RTR;
> if (dlci->modem_tx & TIOCM_RI)
> modembits |= MDM_IC;
> - if (dlci->modem_tx & TIOCM_CD)
> + if (dlci->modem_tx & TIOCM_CD || dlci->gsm->initiator)
> modembits |= MDM_DV;
> return modembits;
> }
> --
> 2.25.1
>

All of these are patch 1/1, which is odd :(

Please renumber them properly and resend.

thanks,

greg k-h