aboutsummaryrefslogtreecommitdiffstats
path: root/src/libbsc/abis_nm.c
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2018-05-03 16:11:28 +0200
committerNeels Hofmeyr <neels@hofmeyr.de>2018-05-05 01:50:49 +0200
commitbf7099262adf0f27e71a08387747c5cb0d459360 (patch)
treebf3316423eff6219afabc1c715efdd1300a9fcee /src/libbsc/abis_nm.c
parentf28f1ef9afa4edfcbdc32e4d820d23886e0e38b2 (diff)
dyn ts, bts_ipaccess_nanobts.c: init PDCH on Chan OPSTART ACK
Sending PDCH activation upon RSL bootstrap is too early. Introduce OPSTART ACK handling to call dyn_ts_init() only when the dynamic timeslot is indeed ready to receive a PDCH activation. Related: OS#3205 Change-Id: Icf6e25ff068e8a2600562d52726ead65e864ec02
Diffstat (limited to 'src/libbsc/abis_nm.c')
-rw-r--r--src/libbsc/abis_nm.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/libbsc/abis_nm.c b/src/libbsc/abis_nm.c
index e3c440813..b2cfa531d 100644
--- a/src/libbsc/abis_nm.c
+++ b/src/libbsc/abis_nm.c
@@ -678,6 +678,14 @@ static int abis_nm_rx_lmt_event(struct msgb *mb)
return 0;
}
+static int abis_nm_rx_opstart_ack(struct msgb *mb)
+{
+ struct abis_om_fom_hdr *foh = msgb_l3(mb);
+ DEBUGPFOH(DNM, foh, "Opstart ACK\n");
+ osmo_signal_dispatch(SS_NM, S_NM_OPSTART_ACK, foh);
+ return 0;
+}
+
bool all_trx_rsl_connected_unlocked(const struct gsm_bts *bts)
{
const struct gsm_bts_trx *trx;
@@ -802,7 +810,7 @@ static int abis_nm_rcvmsg_fom(struct msgb *mb)
ret = abis_nm_rx_lmt_event(mb);
break;
case NM_MT_OPSTART_ACK:
- DEBUGPFOH(DNM, foh, "Opstart ACK\n");
+ abis_nm_rx_opstart_ack(mb);
break;
case NM_MT_SET_CHAN_ATTR_ACK:
DEBUGPFOH(DNM, foh, "Set Channel Attributes ACK\n");
@@ -1896,6 +1904,7 @@ int abis_nm_set_channel_attr(struct gsm_bts_trx_ts *ts, uint8_t chan_comb)
if (bts->type == GSM_BTS_TYPE_BS11)
msgb_tlv_put(msg, 0x59, 1, &zero);
+ DEBUGPFOH(DNM, foh, "%s(): sending %s\n", __func__, msgb_hexdump(msg));
return abis_nm_sendmsg(bts, msg);
}