aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMinh-Quang Nguyen <minh-quang.nguyen@nutaq.com>2016-09-07 09:05:00 -0400
committerMinh-Quang Nguyen <minh-quang.nguyen@nutaq.com>2016-09-07 09:15:35 -0400
commit17c1f04e855188c8329686283fd353d490549179 (patch)
tree1786b37e67456a68906596fe843f2322208d53f2
parente7813197080896f89d0f7dee9fc1d050f085b92c (diff)
LC15: Implementation of L1 transport open failure alarm.
The alarm cause ID is manufacture-defined by NuRAN Wireless Change-Id: I401d81b9bf6af82c9ea08329d89f9f720bae7003
-rw-r--r--src/osmo-bts-litecell15/lc15_l1_if.c3
-rw-r--r--src/pcu_l1_if.cpp11
-rw-r--r--src/pcuif_proto.h1
3 files changed, 15 insertions, 0 deletions
diff --git a/src/osmo-bts-litecell15/lc15_l1_if.c b/src/osmo-bts-litecell15/lc15_l1_if.c
index a6358ba..f5c3667 100644
--- a/src/osmo-bts-litecell15/lc15_l1_if.c
+++ b/src/osmo-bts-litecell15/lc15_l1_if.c
@@ -32,6 +32,7 @@
#include <lc15_l1_if.h>
#include <gprs_debug.h>
#include <pcu_l1_if.h>
+#include <pcuif_proto.h>
extern void *tall_pcu_ctx;
@@ -371,6 +372,8 @@ void *l1if_open_pdch(uint8_t trx_no, uint32_t hlayer1)
rc = l1if_transport_open(MQ_PDTCH_WRITE, fl1h);
if (rc < 0) {
+ alarm_sig_data.spare[0] = trx_no;
+ osmo_signal_dispatch(SS_L_GLOBAL, S_PCU_NM_FAIL_OPEN_L1_ALARM, &alarm_sig_data);
talloc_free(fl1h);
return NULL;
}
diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp
index d93dc91..e4aece0 100644
--- a/src/pcu_l1_if.cpp
+++ b/src/pcu_l1_if.cpp
@@ -649,6 +649,17 @@ static int handle_pcu_fail_evt_rep_sig(unsigned int subsys, unsigned int signal,
PCU_NM_EVT_CAUSE_CRIT_OPEN_PDCH_FAIL,
sig_data->add_text);
break;
+
+ case S_PCU_NM_FAIL_OPEN_L1_ALARM:
+ snprintf(log_msg, 100, "PCU: Failed to open L1 transport for TRX %d", sig_data->spare[0]);
+ sig_data->add_text = &log_msg[0];
+
+ rc = pcu_tx_nm_fail_evt(NM_EVT_PROC_FAIL,
+ NM_SEVER_CRITICAL,
+ NM_PCAUSE_T_MANUF,
+ PCU_NM_EVT_CAUSE_CRIT_OPEN_L1_FAIL,
+ sig_data->add_text);
+ break;
#endif
default:
break;
diff --git a/src/pcuif_proto.h b/src/pcuif_proto.h
index 69989da..b297ff7 100644
--- a/src/pcuif_proto.h
+++ b/src/pcuif_proto.h
@@ -50,6 +50,7 @@
/* NuRAN Wireless manufacture-defined alarm causes */
enum pcu_nm_event_causes {
/* Critical causes */
+ PCU_NM_EVT_CAUSE_CRIT_OPEN_L1_FAIL = 0x333b,
PCU_NM_EVT_CAUSE_CRIT_OPEN_PDCH_FAIL = 0x3411,
PCU_NM_EVT_CAUSE_CRIT_BAD_PCU_IF_VER = 0x3415,
/* Major causes */