diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2021-04-11 14:50:12 +0000 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2021-04-11 14:50:12 +0000 |
commit | 6cf8c691e226410b341fa9ce5ce209fd918b3073 (patch) | |
tree | 892e7bedb8098f74df0f19cd6867d348229afc3b /src | |
parent | Revert "wip redirect OML from shadow to primary TRX" (diff) | |
download | OsmoBTS-6cf8c691e226410b341fa9ce5ce209fd918b3073.tar.xz OsmoBTS-6cf8c691e226410b341fa9ce5ce209fd918b3073.zip |
vamos wip
Change-Id: I38c4c5ec46c95a29bfc30a31fce3392d64cfdaaa
Diffstat (limited to 'src')
-rw-r--r-- | src/common/bts_trx.c | 2 | ||||
-rw-r--r-- | src/common/oml.c | 20 | ||||
-rw-r--r-- | src/osmo-bts-omldummy/bts_model.c | 3 |
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; |