aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bts-trx/l1_if.c
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2013-02-05 16:53:04 +0100
committerAndreas Eversberg <jolly@eversberg.eu>2014-04-06 08:57:04 +0200
commit4dfcffab8c1d4d2cda0d4ed480cea13eaf539c0b (patch)
treed47d05c2995a6c99f8e1add6ce9e4d2dfa10f402 /src/osmo-bts-trx/l1_if.c
parent98ae252ef94e8faf53fb63468c98fe089920caef (diff)
TRX: Power down tranceiver and reset scheduler, if abis link is lost
If BTS is gone, TRX is powered down, due to loss of abis link. If link is esablished again, tranceiver and scheduler are provisioned again by BTS.
Diffstat (limited to 'src/osmo-bts-trx/l1_if.c')
-rw-r--r--src/osmo-bts-trx/l1_if.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/osmo-bts-trx/l1_if.c b/src/osmo-bts-trx/l1_if.c
index 66922b54..25aa0f98 100644
--- a/src/osmo-bts-trx/l1_if.c
+++ b/src/osmo-bts-trx/l1_if.c
@@ -239,12 +239,19 @@ static int trx_close(struct gsm_bts_trx *trx)
{
struct trx_l1h *l1h = trx_l1h_hdl(trx);
+ /* close all logical channels and reset timeslots */
+ trx_sched_reset(l1h);
+
+ /* power off tranceiver, if not already */
if (l1h->config.poweron) {
l1h->config.poweron = 0;
l1h->config.poweron_sent = 0;
l1if_provision_tranceiver_trx(l1h);
}
+ /* Set to Operational State: Disabled */
+ oml_mo_state_chg(&trx->mo, NM_OPSTATE_DISABLED, NM_AVSTATE_OFF_LINE);
+
return 0;
}