aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2018-06-15 20:39:58 +0200
committerNeels Hofmeyr <neels@hofmeyr.de>2018-06-15 21:00:31 +0200
commitf0ff9a67117dc22d838769fe6eef67778abd43b9 (patch)
tree6e40d44dbc64f30b078175e48755ae928555d06c /include
parente7d29e34e4f3db0ec1a5f5b9263aec38a689a76d (diff)
fix dyn TS init: properly identify BTS on OML OPSTART ACK
Commit "dyn ts, bts_ipaccess_nanobts.c: init PDCH on Chan OPSTART ACK" bf7099262adf0f27e71a08387747c5cb0d459360 Icf6e25ff068e8a2600562d52726ead65e864ec02 introduced signal S_NM_OPSTART_ACK and passed the FOM header to identify the BTS by. But the FOM header's BTS number is zero on each Abis/IP link, and the BTS and TRX are actually identified by msgb->dst == e1inp_sign_link, member trx. So the initial implementation associated *all* Channel OPSTART ACKs with BTS 0. Pass the entire msgb as S_NM_OPSTART_ACK signal argument, implement a abis_nm_get_ts() to retrieve the proper timeslot and use that during timeslot init. Related: OS#3351 OS#3205 Change-Id: I45ce5c24cb62d00f350df1af1be6c11104d74193
Diffstat (limited to 'include')
-rw-r--r--include/osmocom/bsc/abis_nm.h2
-rw-r--r--include/osmocom/bsc/signal.h2
2 files changed, 3 insertions, 1 deletions
diff --git a/include/osmocom/bsc/abis_nm.h b/include/osmocom/bsc/abis_nm.h
index 9586deddd..ef9e4f5fc 100644
--- a/include/osmocom/bsc/abis_nm.h
+++ b/include/osmocom/bsc/abis_nm.h
@@ -171,4 +171,6 @@ int abis_nm_select_newest_sw(const struct abis_nm_sw_desc *sw, const size_t len)
/* Helper functions for updating attributes */
int abis_nm_update_max_power_red(struct gsm_bts_trx *trx);
+struct gsm_bts_trx_ts *abis_nm_get_ts(const struct msgb *oml_msg);
+
#endif /* _NM_H */
diff --git a/include/osmocom/bsc/signal.h b/include/osmocom/bsc/signal.h
index 1dde26772..1b351aa4a 100644
--- a/include/osmocom/bsc/signal.h
+++ b/include/osmocom/bsc/signal.h
@@ -71,7 +71,7 @@ enum signal_nm {
S_NM_STATECHG_OPER, /* Operational State changed*/
S_NM_STATECHG_ADM, /* Administrative State changed */
S_NM_OM2K_CONF_RES, /* OM2K Configuration Result */
- S_NM_OPSTART_ACK, /* Received OPSTART ACK, arg is struct abis_om_fom_hdr* */
+ S_NM_OPSTART_ACK, /* Received OPSTART ACK, arg is struct msgb *oml_msg */
};
/* SS_LCHAN signals */