aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilipp Maier <pmaier@sysmocom.de>2021-01-13 00:30:09 +0100
committerPhilipp Maier <pmaier@sysmocom.de>2021-01-13 00:32:26 +0100
commit25b11f473a6c0f20d827552e91a4d1dc5eb01119 (patch)
treee9f958a5a38a2c58b7fcf27fc6b2f103000ef141
parentl1sap: acch_repetition fix hysthereis threshold table (diff)
downloadOsmoBTS-25b11f473a6c0f20d827552e91a4d1dc5eb01119.tar.xz
OsmoBTS-25b11f473a6c0f20d827552e91a4d1dc5eb01119.zip
l1sap: use rxlev_full when no DTX was used
At the moment only rxlev_sub is used to decide when the facch repetition should be activated, regardless if DTX is used. Lets check if DTX is actually used and use rxlev_full when DTX is not applied. Change-Id: I01ba57cf661f0e41b8df209c905f8d135013e472 Related: SYS#5114
-rw-r--r--src/common/l1sap.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/common/l1sap.c b/src/common/l1sap.c
index 2757d709..3f601fde 100644
--- a/src/common/l1sap.c
+++ b/src/common/l1sap.c
@@ -972,6 +972,7 @@ void repeated_dl_facch_active_decision(struct gsm_lchan *lchan, const uint8_t *l
const struct gsm48_meas_res *meas_res;
uint8_t upper;
uint8_t lower;
+ uint8_t rxqual;
if (!lchan->repeated_acch_capability.dl_facch_cmd
&& !lchan->repeated_acch_capability.dl_facch_all)
@@ -1008,10 +1009,19 @@ void repeated_dl_facch_active_decision(struct gsm_lchan *lchan, const uint8_t *l
lower = lchan->repeated_acch_capability.rxqual - 2;
else
lower = 0;
- if (meas_res->rxqual_sub >= upper)
+
+ /* When downlink DTX is applied, use RXQUAL-SUB, otherwise use
+ * RXQUAL-FULL. */
+ if (meas_res->dtx_used)
+ rxqual = meas_res->rxqual_sub;
+ else
+ rxqual = meas_res->rxqual_full;
+
+ if (rxqual >= upper)
lchan->repeated_dl_facch_active = true;
else if (meas_res->rxqual_sub <= lower)
lchan->repeated_dl_facch_active = false;
+
}
/* Special dequeueing function with SACCH repetition (3GPP TS 44.006, section 11) */