aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2021-04-11 14:50:12 +0000
committerNeels Hofmeyr <neels@hofmeyr.de>2021-04-11 14:50:12 +0000
commit6cf8c691e226410b341fa9ce5ce209fd918b3073 (patch)
tree892e7bedb8098f74df0f19cd6867d348229afc3b /src
parentRevert "wip redirect OML from shadow to primary TRX" (diff)
downloadOsmoBTS-6cf8c691e226410b341fa9ce5ce209fd918b3073.tar.xz
OsmoBTS-6cf8c691e226410b341fa9ce5ce209fd918b3073.zip
vamos wip
Change-Id: I38c4c5ec46c95a29bfc30a31fce3392d64cfdaaa
Diffstat (limited to 'src')
-rw-r--r--src/common/bts_trx.c2
-rw-r--r--src/common/oml.c20
-rw-r--r--src/osmo-bts-omldummy/bts_model.c3
3 files changed, 11 insertions, 14 deletions
diff --git a/src/common/bts_trx.c b/src/common/bts_trx.c
index 28b9d9d5..5ee14f26 100644
--- a/src/common/bts_trx.c
+++ b/src/common/bts_trx.c
@@ -170,7 +170,7 @@ struct gsm_bts_trx *gsm_bts_trx_num(const struct gsm_bts *bts, int num)
{
struct gsm_bts_trx *trx;
- if (num >= bts->num_trx)
+ if (TRX_PRIMARY_NR(num) >= bts->num_trx)
return NULL;
llist_for_each_entry(trx, &bts->trx_list, list) {
diff --git a/src/common/oml.c b/src/common/oml.c
index c32260bd..f836fd13 100644
--- a/src/common/oml.c
+++ b/src/common/oml.c
@@ -1596,17 +1596,15 @@ gsm_objclass2mo(struct gsm_bts *bts, uint8_t obj_class,
mo = &trx->mo;
break;
case NM_OC_BASEB_TRANSC:
- if (obj_inst->trx_nr >= bts->num_trx) {
- return NULL;
- }
trx = gsm_bts_trx_num(bts, obj_inst->trx_nr);
+ if (!trx)
+ return NULL;
mo = &trx->bb_transc.mo;
break;
case NM_OC_CHANNEL:
- if (obj_inst->trx_nr >= bts->num_trx) {
- return NULL;
- }
trx = gsm_bts_trx_num(bts, obj_inst->trx_nr);
+ if (!trx)
+ return NULL;
if (obj_inst->ts_nr >= TRX_NR_TS)
return NULL;
mo = &trx->ts[obj_inst->ts_nr].mo;
@@ -1663,17 +1661,15 @@ gsm_objclass2obj(struct gsm_bts *bts, uint8_t obj_class,
obj = trx;
break;
case NM_OC_BASEB_TRANSC:
- if (obj_inst->trx_nr >= bts->num_trx) {
- return NULL;
- }
trx = gsm_bts_trx_num(bts, obj_inst->trx_nr);
+ if (!trx)
+ return NULL;
obj = &trx->bb_transc;
break;
case NM_OC_CHANNEL:
- if (obj_inst->trx_nr >= bts->num_trx) {
- return NULL;
- }
trx = gsm_bts_trx_num(bts, obj_inst->trx_nr);
+ if (!trx)
+ return NULL;
if (obj_inst->ts_nr >= TRX_NR_TS)
return NULL;
obj = &trx->ts[obj_inst->ts_nr];
diff --git a/src/osmo-bts-omldummy/bts_model.c b/src/osmo-bts-omldummy/bts_model.c
index 5624fc1a..307da03f 100644
--- a/src/osmo-bts-omldummy/bts_model.c
+++ b/src/osmo-bts-omldummy/bts_model.c
@@ -76,7 +76,8 @@ static uint8_t vbts_set_bts(struct gsm_bts *bts)
llist_for_each_entry(trx, &bts->trx_list, list) {
/* report availability of trx to the bts. this will trigger the rsl connection */
- osmo_fsm_inst_dispatch(trx->mo.fi, NM_EV_SW_ACT, NULL);
+ if (trx->mo.fi)
+ osmo_fsm_inst_dispatch(trx->mo.fi, NM_EV_SW_ACT, NULL);
osmo_fsm_inst_dispatch(trx->bb_transc.mo.fi, NM_EV_SW_ACT, NULL);
}
return 0;