aboutsummaryrefslogtreecommitdiffstats
path: root/src/common/l1sap.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/l1sap.c')
-rw-r--r--src/common/l1sap.c7
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;
}