diff options
author | Harald Welte <laforge@gnumonks.org> | 2011-07-01 18:09:34 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2011-07-01 18:09:34 +0200 |
commit | 9fa0cce100d25585f5a1baff3353cd54a5a58d5f (patch) | |
tree | 3a239039adf61bb154922deb8a7757f128e183b3 /src/common/abis.c | |
parent | 0f827275d7fcaeb5a5e762e2382eaf1da6db7566 (diff) |
fix BTS initialization order
The sequence is as follows:
0) start osmo-bts
1) start connection attempts to BTS
2) issue L1-RESET.req
3) receive L1-RESET.conf
4) issue RF-ACTIVATE.req
5) receive RF-ACTIVATE.conf
6) receive attributes for TRX
7) receive opstart for TRX
8) issue MPH-INIT.req
[...]
The important point here is: We don't want the BSC to set TRX attributes or do
TRX opstart before our RF related hardware is initialized.
Diffstat (limited to 'src/common/abis.c')
-rw-r--r-- | src/common/abis.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/common/abis.c b/src/common/abis.c index c1e1c4f3..7a08e188 100644 --- a/src/common/abis.c +++ b/src/common/abis.c @@ -74,6 +74,11 @@ int abis_oml_sendmsg(struct msgb *msg) abis_push_ipa(msg, 0xff); + if (!bts->oml_link) { + msgb_free(msg); + return 0; + } + return abis_tx((struct ipabis_link *) bts->oml_link, msg); } @@ -516,9 +521,9 @@ void abis_close(struct ipabis_link *link) /* for now, we simply terminate the program and re-spawn */ if (link->bts) - bts_shutdown(link->bts); + bts_shutdown(link->bts, "Abis close / OML"); else if (link->trx) - bts_shutdown(link->trx->bts); + bts_shutdown(link->trx->bts, "Abis close / RSL"); else exit(43); } |