aboutsummaryrefslogtreecommitdiffstats
path: root/src/common/oml.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/oml.c')
-rw-r--r--src/common/oml.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/common/oml.c b/src/common/oml.c
index 19e3038b..9c28e041 100644
--- a/src/common/oml.c
+++ b/src/common/oml.c
@@ -609,7 +609,7 @@ static int oml_rx_set_chan_attr(struct gsm_bts_trx_ts *ts, struct msgb *msg)
}
/* merge existing BTS attributes with new attributes */
- tp_merged = tlvp_copy(bts->mo.nm_attr, bts);
+ tp_merged = tlvp_copy(ts->mo.nm_attr, ts);
tlvp_merge(tp_merged, &tp);
/* Call into BTS driver to check attribute values */
@@ -620,6 +620,10 @@ static int oml_rx_set_chan_attr(struct gsm_bts_trx_ts *ts, struct msgb *msg)
return rc;
}
+ /* Success: replace old BTS attributes with new */
+ talloc_free(ts->mo.nm_attr);
+ ts->mo.nm_attr = tp_merged;
+
/* 9.4.13 Channel Combination */
if (TLVP_PRESENT(&tp, NM_ATT_CHAN_COMB)) {
uint8_t comb = *TLVP_VAL(&tp, NM_ATT_CHAN_COMB);