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
This commit is contained in:
parent
b327c9598c
commit
25b11f473a
|
@ -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) */
|
||||
|
|
Loading…
Reference in New Issue