diff options
author | Minh-Quang Nguyen <minh-quang.nguyen@nutaq.com> | 2016-06-10 13:42:55 -0400 |
---|---|---|
committer | Minh-Quang Nguyen <minh-quang.nguyen@nutaq.com> | 2016-06-10 13:42:55 -0400 |
commit | 32424857fd4ab22e449a9b78fdcbfc6ac265f368 (patch) | |
tree | afe1064b0572e59f21b5b2b4007511d4dfeec09c | |
parent | e339fdf846174b6c1a59dd20a518e44a3e02668e (diff) |
LC15: common/oml.c : Alarm - Formatted O&M message too short
Change-Id: I8ae9b63f3855ab65204e97bc89c7b427ddbded40
-rw-r--r-- | src/common/oml.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/common/oml.c b/src/common/oml.c index b32231be..b5394dc4 100644 --- a/src/common/oml.c +++ b/src/common/oml.c @@ -981,9 +981,27 @@ static int down_fom(struct gsm_bts *bts, struct msgb *msg) struct abis_om_fom_hdr *foh = msgb_l3(msg); struct gsm_bts_trx *trx; int ret; + char log_msg[100]; + struct gsm_failure_evt_rep failure_rep; if (msgb_l2len(msg) < sizeof(*foh)) { - LOGP(DOML, LOGL_NOTICE, "Formatted O&M message too short\n"); + snprintf(log_msg, 100, "Formatted O&M message too short\n"); + LOGP(DOML, LOGL_NOTICE,"%s", log_msg); + + failure_rep.event_type = NM_EVT_COMM_FAIL; + failure_rep.event_serverity = NM_SEVER_MAJOR; + failure_rep.cause_type = NM_PCAUSE_T_MANUF; + failure_rep.event_cause = NM_MM_EVT_MAJ_UKWN_MSG; + failure_rep.add_text = (char *)&log_msg; + + trx = gsm_bts_trx_num(bts, foh->obj_inst.trx_nr); + if (trx) { + trx->mo.obj_inst.bts_nr = 0; + trx->mo.obj_inst.trx_nr = foh->obj_inst.trx_nr; + trx->mo.obj_inst.ts_nr = 0xff; + oml_tx_failure_event_rep(&trx->mo, failure_rep); + } + return -EIO; } |