aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/osmocom/bsc/gsm_data.h12
-rw-r--r--src/osmo-bsc/gsm_data.c4
2 files changed, 16 insertions, 0 deletions
diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h
index 3fd466c3a..c7c4c49fb 100644
--- a/include/osmocom/bsc/gsm_data.h
+++ b/include/osmocom/bsc/gsm_data.h
@@ -1703,6 +1703,18 @@ static inline int is_nokia_bts(struct gsm_bts *bts)
return 0;
}
+static inline int is_ericsson_bts(struct gsm_bts *bts)
+{
+ switch (bts->type) {
+ case GSM_BTS_TYPE_RBS2000:
+ return 1;
+ default:
+ break;
+ }
+
+ return 0;
+}
+
static inline int is_e1_bts(struct gsm_bts *bts)
{
switch (bts->type) {
diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c
index fe421a4bf..76f7ea534 100644
--- a/src/osmo-bsc/gsm_data.c
+++ b/src/osmo-bsc/gsm_data.c
@@ -1383,6 +1383,10 @@ bool trx_is_usable(const struct gsm_bts_trx *trx)
if (!nm_is_running(&trx->mo.nm_state) ||
!nm_is_running(&trx->bb_transc.mo.nm_state))
return false;
+ } else if (is_ericsson_bts(trx->bts)) {
+ /* The OM2000 -> 12.21 mapping we do doesn't have separate bb_transc MO */
+ if (!nm_is_running(&trx->mo.nm_state))
+ return false;
}
return true;