aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/osmo-bts/bts_model.h2
-rw-r--r--src/common/abis.c3
-rw-r--r--src/common/bts.c2
-rw-r--r--src/osmo-bts-sysmo/main.c6
-rw-r--r--src/osmo-bts-trx/main.c3
-rw-r--r--tests/stubs.c3
6 files changed, 18 insertions, 1 deletions
diff --git a/include/osmo-bts/bts_model.h b/include/osmo-bts/bts_model.h
index c3ab070f..fab3081d 100644
--- a/include/osmo-bts/bts_model.h
+++ b/include/osmo-bts/bts_model.h
@@ -37,4 +37,6 @@ int bts_model_oml_estab(struct gsm_bts *bts);
int bts_model_l1sap_down(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap);
+void bts_model_abis_close(struct gsm_bts *bts);
+
#endif
diff --git a/src/common/abis.c b/src/common/abis.c
index fa1a565f..4fbdf259 100644
--- a/src/common/abis.c
+++ b/src/common/abis.c
@@ -45,6 +45,7 @@
#include <osmo-bts/bts.h>
#include <osmo-bts/rsl.h>
#include <osmo-bts/oml.h>
+#include <osmo-bts/bts_model.h>
static struct gsm_bts *g_bts;
@@ -112,7 +113,7 @@ static void sign_link_down(struct e1inp_line *line)
e1inp_sign_link_destroy(g_bts->oml_link);
g_bts->oml_link = NULL;
- bts_shutdown(g_bts, "Abis close");
+ bts_model_abis_close(g_bts);
}
diff --git a/src/common/bts.c b/src/common/bts.c
index 53324471..c886b1ee 100644
--- a/src/common/bts.c
+++ b/src/common/bts.c
@@ -230,6 +230,8 @@ int trx_link_estab(struct gsm_bts_trx *trx)
if (link)
rsl_tx_rf_res(trx);
+ else
+ bts_model_trx_deact_rf(trx);
return 0;
}
diff --git a/src/osmo-bts-sysmo/main.c b/src/osmo-bts-sysmo/main.c
index 9eb05ffd..b8c062f5 100644
--- a/src/osmo-bts-sysmo/main.c
+++ b/src/osmo-bts-sysmo/main.c
@@ -402,3 +402,9 @@ int main(int argc, char **argv)
osmo_select_main(0);
}
}
+
+void bts_model_abis_close(struct gsm_bts *bts)
+{
+ /* for now, we simply terminate the program and re-spawn */
+ bts_shutdown(bts, "Abis close");
+}
diff --git a/src/osmo-bts-trx/main.c b/src/osmo-bts-trx/main.c
index 55227372..594b4693 100644
--- a/src/osmo-bts-trx/main.c
+++ b/src/osmo-bts-trx/main.c
@@ -399,3 +399,6 @@ int main(int argc, char **argv)
return 0;
}
+void bts_model_abis_close(struct gsm_bts *bts)
+{
+}
diff --git a/tests/stubs.c b/tests/stubs.c
index a98f0d9d..943df9c6 100644
--- a/tests/stubs.c
+++ b/tests/stubs.c
@@ -53,3 +53,6 @@ uint32_t trx_get_hlayer1(struct gsm_bts_trx *trx)
int bts_model_oml_estab(struct gsm_bts *bts)
{ return 0; }
+
+void bts_model_abis_close(struct gsm_bts *bts)
+{ }