fix: Use only single CCCH block to determine path loss

The downlink singalling failure counter DSC is decremented by 4
in case of unsuccessfull decoding of CCCH block and incremented
by 1 in case of successfull decoding of CCCH block. The initial
and maximum value of 90 requires to check the signal only once
per 51 multiframe.

If DRX would be supported, only a subset of 51 multiframes are
received, so the initial / maximum value of 90 must be reduced
accordingly.
This commit is contained in:
Andreas Eversberg 2013-01-08 09:12:15 +01:00
parent f6b52d74dd
commit 43b368b66d
1 changed files with 7 additions and 0 deletions

View File

@ -192,6 +192,13 @@ static int rx_ph_data_ind(struct osmocom_ms *ms, struct msgb *msg)
if (!(dl->link_id & 0x40)) {
switch (chan_type) {
case RSL_CHAN_PCH_AGCH:
/* only look at one CCCH frame in each 51 multiframe.
* FIXME: implement DRX
* - select correct paging block that is for us.
* - initialize ds_fail according to BS_PA_MFRMS.
*/
if ((dl->frame_nr % 51) != 6)
break;
if (!meas->ds_fail)
break;
if (dl->fire_crc >= 2)