laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/32542 )
Change subject: trau_pcu_ericsson: set uplink frame error bit correctly ......................................................................
trau_pcu_ericsson: set uplink frame error bit correctly
At the moment we set the uplink frame error bit to 1 if ul_frame_err is set to false. Unfortunately the er_gprs_trau_frame_encode pre set all non T0 bits to 1 before calling the encoder function. This means that with this logic the uplink frame error bit can never be set to 0.
Related: OS#6015 Change-Id: I74f56bc40ed074eb1588b202849870e2786ded24 --- M src/trau/trau_pcu_ericsson.c 1 file changed, 25 insertions(+), 10 deletions(-)
Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved
diff --git a/src/trau/trau_pcu_ericsson.c b/src/trau/trau_pcu_ericsson.c index 585e847..8f2e2a2 100644 --- a/src/trau/trau_pcu_ericsson.c +++ b/src/trau/trau_pcu_ericsson.c @@ -500,8 +500,8 @@ /* C-Bits */ osmo_pbit2ubit_ext(trau_bits, 17, &c_1_5, 0, 5, 1); osmo_pbit2ubit_ext(trau_bits, 22, (pbit_t *) &ind->tav, 0, 2, 1); - if (ind->ul_frame_err == false) - trau_bits[24] = 1; + if (ind->ul_frame_err) + trau_bits[24] = 0; trau_bits[25] = calc_parity(trau_bits + 17, 8);
/* D-Bits */ @@ -555,8 +555,8 @@ /* C-Bits */ osmo_pbit2ubit_ext(trau_bits, 17, &c_1_5, 0, 5, 1); osmo_pbit2ubit_ext(trau_bits, 22, (pbit_t *) &ind->tav, 0, 2, 1); - if (ind->ul_frame_err == false) - trau_bits[24] = 1; + if (ind->ul_frame_err) + trau_bits[24] = 0; trau_bits[25] = calc_parity(trau_bits + 17, 8);
/* Set coding scheme (E1-E2) */ @@ -1063,8 +1063,8 @@ /* C-Bits */ osmo_pbit2ubit_ext(trau_bits, 65, &c_1_5, 0, 5, 1); osmo_pbit2ubit_ext(trau_bits, 70, (pbit_t *) &ind->tav, 0, 2, 1); - if (ind->ul_frame_err == false) - trau_bits[73] = 1; + if (ind->ul_frame_err) + trau_bits[73] = 0; trau_bits[74] = calc_parity(trau_bits + 65, 8);
/* Set unused D-Bits to 1 */ @@ -1135,8 +1135,8 @@ /* C-Bits */ osmo_pbit2ubit_ext(trau_bits, 65, &c_1_5, 0, 5, 1); osmo_pbit2ubit_ext(trau_bits, 70, (pbit_t *) &ind->tav, 0, 2, 1); - if (ind->ul_frame_err == false) - trau_bits[73] = 1; + if (ind->ul_frame_err) + trau_bits[73] = 0; trau_bits[74] = calc_parity(trau_bits + 65, 8);
/* Set coding scheme (E1-E3) */ @@ -1321,8 +1321,8 @@ /* C-Bits */ osmo_pbit2ubit_ext(trau_bits, 65, &c_1_5, 0, 5, 1); osmo_pbit2ubit_ext(trau_bits, 70, (pbit_t *) &ind->tav, 0, 2, 1); - if (ind->ul_frame_err == false) - trau_bits[73] = 1; + if (ind->ul_frame_err) + trau_bits[73] = 0; trau_bits[74] = calc_parity(trau_bits + 65, 8);
/* Set demodulation in uplink (E1-E3) */