aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/osmo-bts/bts_model.h1
-rw-r--r--src/common/bts.c4
-rw-r--r--src/osmo-bts-sysmo/oml.c3
-rw-r--r--tests/cipher/cipher_test.c2
-rw-r--r--tests/paging/paging_test.c2
5 files changed, 9 insertions, 3 deletions
diff --git a/include/osmo-bts/bts_model.h b/include/osmo-bts/bts_model.h
index 7ccec4cb..bfa6bd8d 100644
--- a/include/osmo-bts/bts_model.h
+++ b/include/osmo-bts/bts_model.h
@@ -33,6 +33,7 @@ int bts_model_rsl_deact_sacch(struct gsm_lchan *lchan);
int bts_model_rsl_mode_modify(struct gsm_lchan *lchan);
int bts_model_trx_deact_rf(struct gsm_bts_trx *trx);
+int bts_model_trx_close(struct gsm_bts_trx *trx);
void bts_model_rtp_rx_cb(struct osmo_rtp_socket *rs, const uint8_t *rtp_pl,
unsigned int rtp_pl_len);
diff --git a/src/common/bts.c b/src/common/bts.c
index 8f6dc694..db58e12f 100644
--- a/src/common/bts.c
+++ b/src/common/bts.c
@@ -126,8 +126,10 @@ void bts_shutdown(struct gsm_bts *bts, const char *reason)
LOGP(DOML, LOGL_NOTICE, "Shutting down BTS %u, Reason %s\n",
bts->nr, reason);
- llist_for_each_entry(trx, &bts->trx_list, list)
+ llist_for_each_entry(trx, &bts->trx_list, list) {
bts_model_trx_deact_rf(trx);
+ bts_model_trx_close(trx);
+ }
/* shedule a timer to make sure select loop logic can run again
* to dispatch any pending primitives */
diff --git a/src/osmo-bts-sysmo/oml.c b/src/osmo-bts-sysmo/oml.c
index bf4fe158..9e2ac8ee 100644
--- a/src/osmo-bts-sysmo/oml.c
+++ b/src/osmo-bts-sysmo/oml.c
@@ -310,7 +310,7 @@ static int trx_close_compl_cb(struct gsm_bts_trx *trx, struct msgb *l1_msg)
return 0;
}
-static int trx_close(struct gsm_bts_trx *trx)
+int bts_model_trx_close(struct gsm_bts_trx *trx)
{
struct femtol1_hdl *fl1h = trx_femtol1_hdl(trx);
struct msgb *msg;
@@ -1149,6 +1149,5 @@ int bts_model_trx_deact_rf(struct gsm_bts_trx *trx)
{
struct femtol1_hdl *fl1 = trx_femtol1_hdl(trx);
- trx_close(trx);
return l1if_activate_rf(fl1, 0);
}
diff --git a/tests/cipher/cipher_test.c b/tests/cipher/cipher_test.c
index 7d037c21..9de18d96 100644
--- a/tests/cipher/cipher_test.c
+++ b/tests/cipher/cipher_test.c
@@ -108,6 +108,8 @@ int bts_model_rsl_deact_sacch(struct gsm_lchan *lchan)
int bts_model_trx_deact_rf(struct gsm_bts_trx *trx)
{ return 0; }
+int bts_model_trx_close(struct gsm_bts_trx *trx)
+{ return 0; }
int bts_model_check_oml(struct gsm_bts *bts, uint8_t msg_type,
struct tlv_parsed *old_attr, struct tlv_parsed *new_attr,
void *obj)
diff --git a/tests/paging/paging_test.c b/tests/paging/paging_test.c
index a0a39355..ae02b618 100644
--- a/tests/paging/paging_test.c
+++ b/tests/paging/paging_test.c
@@ -142,6 +142,8 @@ int bts_model_rsl_deact_sacch(struct gsm_lchan *lchan)
int bts_model_trx_deact_rf(struct gsm_bts_trx *trx)
{ return 0; }
+int bts_model_trx_close(struct gsm_bts_trx *trx)
+{ return 0; }
int bts_model_check_oml(struct gsm_bts *bts, uint8_t msg_type,
struct tlv_parsed *old_attr, struct tlv_parsed *new_attr,
void *obj)