diff options
Diffstat (limited to 'src/common/l1sap.c')
-rw-r--r-- | src/common/l1sap.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/common/l1sap.c b/src/common/l1sap.c index d9ffdb8f..52f2b334 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -493,6 +493,7 @@ static int l1sap_info_time_ind(struct gsm_bts *bts, struct info_time_ind_param *info_time_ind) { int frames_expired; + int i; DEBUGPFN(DL1P, info_time_ind->fn, "Rx MPH_INFO time ind\n"); @@ -513,8 +514,10 @@ static int l1sap_info_time_ind(struct gsm_bts *bts, /* increment number of RACH slots that have passed by since the * last time indication */ - bts->load.rach.total += - calc_exprd_rach_frames(bts, info_time_ind->fn) * frames_expired; + for (i = 0; i < frames_expired; i++) { + uint32_t fn = (info_time_ind->fn + GSM_HYPERFRAME - i) % GSM_HYPERFRAME; + bts->load.rach.total += calc_exprd_rach_frames(bts, fn); + } return 0; } |