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.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/common/l1sap.c b/src/common/l1sap.c
index 1cb752e3..d5dd8a60 100644
--- a/src/common/l1sap.c
+++ b/src/common/l1sap.c
@@ -96,6 +96,7 @@ static int check_for_ciph_cmd(struct msgb *msg, struct gsm_lchan *lchan,
/* only do this if we are in the right state */
switch (lchan->ciph_state) {
case LCHAN_CIPH_NONE:
+ case LCHAN_CIPH_RX_REQ:
break;
default:
return 0;
@@ -278,11 +279,11 @@ static int to_gsmtap(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap)
}
/* time information received from bts model */
-static int l1sap_info_time_ind(struct gsm_bts_trx *trx,
+static int l1sap_info_time_ind(struct gsm_bts *bts,
struct osmo_phsap_prim *l1sap,
struct info_time_ind_param *info_time_ind)
{
- struct gsm_bts *bts = trx->bts;
+ struct gsm_bts_trx *trx;
struct gsm_bts_role_bts *btsb = bts->role;
int frames_expired = info_time_ind->fn - btsb->gsm_time.fn;
@@ -297,7 +298,8 @@ static int l1sap_info_time_ind(struct gsm_bts_trx *trx,
/* check if the measurement period of some lchan has ended
* and pre-compute the respective measurement */
- trx_meas_check_compute(trx, info_time_ind->fn - 1);
+ llist_for_each_entry(trx, &bts->trx_list, list)
+ trx_meas_check_compute(trx, info_time_ind->fn - 1);
/* increment number of RACH slots that have passed by since the
* last time indication */
@@ -352,7 +354,7 @@ static int l1sap_mph_info_ind(struct gsm_bts_trx *trx,
switch (info->type) {
case PRIM_INFO_TIME:
- rc = l1sap_info_time_ind(trx, l1sap, &info->u.time_ind);
+ rc = l1sap_info_time_ind(trx->bts, l1sap, &info->u.time_ind);
break;
case PRIM_INFO_MEAS:
rc = l1sap_info_meas_ind(trx, l1sap, &info->u.meas_ind);