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.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/common/oml.c b/src/common/oml.c
index bf174b5f..143cc0d8 100644
--- a/src/common/oml.c
+++ b/src/common/oml.c
@@ -436,8 +436,7 @@ static int oml_rx_set_bts_attr(struct gsm_bts *bts, struct msgb *msg)
rc = bts_model_check_oml(bts, foh->msg_type, bts->mo.nm_attr, tp_merged, bts);
if (rc < 0) {
talloc_free(tp_merged);
- /* FIXME: send nack? */
- return rc;
+ return oml_fom_ack_nack(msg, -rc);
}
/* Success: replace old BTS attributes with new */
@@ -551,8 +550,7 @@ static int oml_rx_set_radio_attr(struct gsm_bts_trx *trx, struct msgb *msg)
rc = bts_model_check_oml(trx->bts, foh->msg_type, trx->mo.nm_attr, tp_merged, trx);
if (rc < 0) {
talloc_free(tp_merged);
- /* FIXME: send NACK */
- return rc;
+ return oml_fom_ack_nack(msg, -rc);
}
/* Success: replace old BTS attributes with new */
@@ -671,8 +669,8 @@ static int oml_rx_set_chan_attr(struct gsm_bts_trx_ts *ts, struct msgb *msg)
rc = bts_model_check_oml(bts, foh->msg_type, ts->mo.nm_attr, tp_merged, ts);
if (rc < 0) {
talloc_free(tp_merged);
- /* FIXME: Send NACK */
- return rc;
+ /* Send NACK */
+ return oml_fom_ack_nack(msg, -rc);
}
/* Success: replace old BTS attributes with new */