pdch: Silently ignore DATA.ind with len=0

Since recently (see Depends below), BTS side submits DATA.ind with len=0
to announce nothing was received on that UL block FN. This will allow
osmo-pcu track time more accurately, and use this information to quickly
find out if a UL block was expected as requested by RRBP or USF poll and
increment counters such as N3101 (finally being able to properly
implement timers such as T3619).

Depends: osmo-bts.git Change-Id I343c7a721dab72411edbca816c8864926bc329fb
Related: OS#5020
Change-Id: I17c28abf63b153448b533971ac5cf2e48daadea8
This commit is contained in:
Pau Espin 2021-03-05 18:54:01 +01:00
parent 58fdc54a7f
commit 3cba94d70e
1 changed files with 9 additions and 0 deletions

View File

@ -794,6 +794,15 @@ free_ret:
int gprs_rlcmac_pdch::rcv_block(uint8_t *data, uint8_t len, uint32_t fn,
struct pcu_l1_meas *meas)
{
/* No successfully decoded UL block was received during this FN: */
if (len == 0) {
/* TODO: Here, in the future, it can be checked whether a UL block was expected for:
* - UL/DL TBFs: RRBP poll pending (bts->pollController->expireTimedout)
* - UL TBFs: USF poll pending (we don't store this info in ul_tbf yet) -> inc N3101 (OS#5033)
*/
return 0;
}
enum CodingScheme cs = mcs_get_by_size_ul(len);
if (!cs) {
bts_do_rate_ctr_inc(bts(), CTR_DECODE_ERRORS);