aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bts-octphy
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2020-06-18 19:36:12 +0200
committerPau Espin Pedrol <pespin@sysmocom.de>2020-06-23 14:53:37 +0200
commit8090df2a813a3cf174afb8acb9aba92b65d275fb (patch)
treecee14c7b8e18b81ea7542c0133c7bd6aa2ee1631 /src/osmo-bts-octphy
parentceb80fc6b6edcc701a423d6bfe8601b08ff3a10d (diff)
bts_model: Convert bts_model_trx_close() to return asynchronously
Some backends like osmo-bts-trx require exchanging messages like POWEROFF to close the TRX, and hence need some time. Switch the function to expect result asynchronously by calling a callback. This will be used later to wait until all TRX are really powered off before exiting the process. Change-Id: I7d76b600fc06e1114b35bf0c2d08eff5bbd1b69a
Diffstat (limited to 'src/osmo-bts-octphy')
-rw-r--r--src/osmo-bts-octphy/l1_oml.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/osmo-bts-octphy/l1_oml.c b/src/osmo-bts-octphy/l1_oml.c
index 61d56bb6..8cc078eb 100644
--- a/src/osmo-bts-octphy/l1_oml.c
+++ b/src/osmo-bts-octphy/l1_oml.c
@@ -1678,7 +1678,7 @@ int bts_model_chg_adm_state(struct gsm_bts *bts, struct gsm_abis_mo *mo,
bts_model_trx_deact_rf(trx);
/* Close TRX */
- rc = bts_model_trx_close(trx);
+ rc = trx_close(trx);
if (rc != 0) {
LOGP(DL1C, LOGL_ERROR,
"Cannot close TRX %d, it is already closed.\n",
@@ -1716,10 +1716,11 @@ int bts_model_trx_deact_rf(struct gsm_bts_trx *trx)
return l1if_activate_rf(trx, 0);
}
-int bts_model_trx_close(struct gsm_bts_trx *trx)
+void bts_model_trx_close(struct gsm_bts_trx *trx)
{
/* FIXME: close only one TRX */
- return trx_close(trx);
+ int rc = trx_close(trx);
+ bts_model_trx_close_cb(trx, rc);
}