From 57d4fae8325f7c8cccc03958d5f87f9174d13ba7 Mon Sep 17 00:00:00 2001 From: Oliver Smith Date: Mon, 27 Feb 2023 10:28:40 +0100 Subject: gsm0808_enc/dec_channel_type: fix transparent flag According to 3GPP TS 48.008 3.2.2.11, it is inverted. 0: Transparent service 1: Non-transparent service Change-Id: I2e5786ad053ee871079b4a8d95caccd6b03b59b6 --- src/gsm/gsm0808_utils.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/gsm/gsm0808_utils.c') diff --git a/src/gsm/gsm0808_utils.c b/src/gsm/gsm0808_utils.c index d8c275a7..efa9305f 100644 --- a/src/gsm/gsm0808_utils.c +++ b/src/gsm/gsm0808_utils.c @@ -510,7 +510,7 @@ uint8_t gsm0808_enc_channel_type(struct msgb *msg, case GSM0808_CHAN_DATA: byte = ct->data_rate; - if (ct->data_transparent) + if (!ct->data_transparent) byte |= 0x40; /* Set T/NT */ if (ct->data_rate_allowed_is_set) { @@ -580,7 +580,7 @@ int gsm0808_dec_channel_type(struct gsm0808_channel_type *ct, case GSM0808_CHAN_DATA: byte = *elem; elem++; - ct->data_transparent = byte & 0x40; /* T/NT */ + ct->data_transparent = !(byte & 0x40); /* T/NT */ ct->data_rate = byte & 0x3f; /* Optional extension for non-transparent service */ -- cgit v1.2.3