aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMinh-Quang Nguyen <minh-quang.nguyen@nutaq.com>2016-09-07 10:01:20 -0400
committerMinh-Quang Nguyen <minh-quang.nguyen@nutaq.com>2016-09-07 10:01:20 -0400
commit7b883fffdcb0ade02717a22f7d6b9b1862134747 (patch)
treeda76f9454597bfa2ffccfae5a320c9d663a77cd9 /src
parent1c80421ddc9a6c0c27e1d826cae24b291401d710 (diff)
LC15: Implementation of receiving unknown L1 primitive message alarm.
The alarm cause ID is manufacture-defined by NuRAN Wireless. Change-Id: I22bb10b795bdc403af259e68f652b7b5b11dcb57
Diffstat (limited to 'src')
-rw-r--r--src/osmo-bts-litecell15/lc15_l1_if.c1
-rw-r--r--src/pcu_l1_if.cpp12
-rw-r--r--src/pcuif_proto.h3
3 files changed, 15 insertions, 1 deletions
diff --git a/src/osmo-bts-litecell15/lc15_l1_if.c b/src/osmo-bts-litecell15/lc15_l1_if.c
index da81ebc4..01bebec1 100644
--- a/src/osmo-bts-litecell15/lc15_l1_if.c
+++ b/src/osmo-bts-litecell15/lc15_l1_if.c
@@ -298,6 +298,7 @@ int l1if_handle_l1prim(int wq, struct lc15l1_hdl *fl1h, struct msgb *msg)
rc = handle_ph_ra_ind(fl1h, &l1p->u.phRaInd);
break;
default:
+ osmo_signal_dispatch(SS_L_GLOBAL, S_PCU_NM_RX_UNKN_L1_PRIM_ALARM, &alarm_sig_data);
break;
}
diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp
index a9c817eb..aae6ce6f 100644
--- a/src/pcu_l1_if.cpp
+++ b/src/pcu_l1_if.cpp
@@ -672,6 +672,18 @@ static int handle_pcu_fail_evt_rep_sig(unsigned int subsys, unsigned int signal,
PCU_NM_EVT_CAUSE_MAJ_UKWN_L1_MSG,
sig_data->add_text);
break;
+
+ case S_PCU_NM_RX_UNKN_L1_PRIM_ALARM:
+ memcpy(&res, sig_data->spare, sizeof(unsigned int));
+ snprintf(log_msg, 100, "PCU: Rx unknown L1 primitive type 0x%x\n", res);
+ sig_data->add_text = &log_msg[0];
+
+ rc = pcu_tx_nm_fail_evt(NM_EVT_PROC_FAIL,
+ NM_SEVER_MAJOR,
+ NM_PCAUSE_T_MANUF,
+ PCU_NM_EVT_CAUSE_MAJ_UKWN_L1_PRIM_MSG,
+ sig_data->add_text);
+ break;
#endif
case S_PCU_NM_NO_PDCH_ALARM:
rc = pcu_tx_nm_fail_evt(NM_EVT_PROC_FAIL,
diff --git a/src/pcuif_proto.h b/src/pcuif_proto.h
index 3640b592..46b5db53 100644
--- a/src/pcuif_proto.h
+++ b/src/pcuif_proto.h
@@ -62,7 +62,8 @@ enum pcu_nm_event_causes {
PCU_NM_EVT_CAUSE_CRIT_BAD_PCU_IF_VER = 0x3415,
/* Major causes */
PCU_NM_EVT_CAUSE_MAJ_UKWN_L1_MSG = 0x3012,
- PCU_NM_EVT_CAUSE_MAJ_UKWN_BTS_MSG = 0x3013,
+ PCU_NM_EVT_CAUSE_MAJ_UKWN_L1_PRIM_MSG = 0x3013,
+ PCU_NM_EVT_CAUSE_MAJ_UKWN_BTS_MSG = 0x3014,
/* Warning causes */
PCU_NM_EVT_CAUSE_WARN_NO_PDCH_AVAIL = 0x3011,