aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Makefile.am2
-rw-r--r--src/libbsc/Makefile.am2
-rw-r--r--src/libbsc/abis_nm.c17
-rw-r--r--tests/abis/Makefile.am1
-rw-r--r--tests/nanobts_omlattr/Makefile.am1
5 files changed, 22 insertions, 1 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index dd1ad3d38..454bf26e1 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -22,10 +22,10 @@ AM_LDFLAGS = \
# Libraries
SUBDIRS = \
libcommon \
+ libcommon-cs \
libbsc \
libtrau \
libfilter \
- libcommon-cs \
$(NULL)
# Programs
diff --git a/src/libbsc/Makefile.am b/src/libbsc/Makefile.am
index e78bde624..fc12d05d7 100644
--- a/src/libbsc/Makefile.am
+++ b/src/libbsc/Makefile.am
@@ -17,6 +17,8 @@ noinst_LIBRARIES = \
libbsc.a \
$(NULL)
+libbsc_a_LIBADD = $(top_builddir)/src/libcommon-cs/libcommon-cs.a
+
libbsc_a_SOURCES = \
abis_nm.c \
abis_nm_vty.c \
diff --git a/src/libbsc/abis_nm.c b/src/libbsc/abis_nm.c
index 2c84ba79f..33af2136a 100644
--- a/src/libbsc/abis_nm.c
+++ b/src/libbsc/abis_nm.c
@@ -46,6 +46,7 @@
#include <osmocom/bsc/misdn.h>
#include <osmocom/bsc/signal.h>
#include <osmocom/abis/e1_input.h>
+#include <osmocom/bsc/chan_alloc.h>
#define OM_ALLOC_SIZE 1024
#define OM_HEADROOM_SIZE 128
@@ -691,9 +692,25 @@ bool all_trx_rsl_connected_unlocked(const struct gsm_bts *bts)
if (bts->mo.nm_state.administrative == NM_STATE_LOCKED)
return false;
+ if (bts->gprs.mode != BTS_GPRS_NONE) {
+ if (bts->gprs.cell.mo.nm_state.administrative == NM_STATE_LOCKED)
+ return false;
+
+ if (bts->gprs.nse.mo.nm_state.administrative == NM_STATE_LOCKED)
+ return false;
+
+ if (bts->gprs.nsvc[0].mo.nm_state.administrative == NM_STATE_LOCKED &&
+ bts->gprs.nsvc[1].mo.nm_state.administrative == NM_STATE_LOCKED)
+ return false;
+ }
+
llist_for_each_entry(trx, &bts->trx_list, list) {
if (!trx->rsl_link)
return false;
+
+ if (!trx_is_usable(trx))
+ return false;
+
if (trx->mo.nm_state.administrative == NM_STATE_LOCKED)
return false;
}
diff --git a/tests/abis/Makefile.am b/tests/abis/Makefile.am
index 1c5dede3b..8dc624890 100644
--- a/tests/abis/Makefile.am
+++ b/tests/abis/Makefile.am
@@ -27,6 +27,7 @@ abis_test_SOURCES = \
abis_test_LDADD = \
$(top_builddir)/src/libbsc/libbsc.a \
$(top_builddir)/src/libcommon/libcommon.a \
+ $(top_builddir)/src/libcommon-cs/libcommon-cs.a \
$(top_builddir)/src/libtrau/libtrau.a \
$(LIBOSMOCORE_LIBS) \
$(LIBOSMOABIS_LIBS) \
diff --git a/tests/nanobts_omlattr/Makefile.am b/tests/nanobts_omlattr/Makefile.am
index 8b5e1165c..4b4951806 100644
--- a/tests/nanobts_omlattr/Makefile.am
+++ b/tests/nanobts_omlattr/Makefile.am
@@ -26,6 +26,7 @@ nanobts_omlattr_test_LDADD = \
$(top_builddir)/src/libbsc/libbsc.a \
$(top_builddir)/src/libtrau/libtrau.a \
$(top_builddir)/src/libcommon/libcommon.a \
+ $(top_builddir)/src/libcommon-cs/libcommon-cs.a \
$(LIBOSMOCORE_LIBS) \
$(LIBOSMOGSM_LIBS) \
$(LIBOSMOABIS_LIBS) \