aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMinh-Quang Nguyen <minh-quang.nguyen@nutaq.com>2016-09-07 10:31:20 -0400
committerMinh-Quang Nguyen <minh-quang.nguyen@nutaq.com>2016-09-07 14:21:38 -0400
commitbfc6cec8a52df879d1196f115397f6762ccbdf3b (patch)
tree61376721c48257bba53fc05c739dc3a10e4bfb98
parent64d1cc25d0c885deec2b914eb6d89bc7798e7bc1 (diff)
LC15: Implementation of PDTCH queue is full alarm.
The alarm cause ID is manufacture-defined by NuRAN Wireless. Change-Id: I9ea5146f9940177e08c9f0b3087b0ab4b0c170d9
-rw-r--r--src/osmo-bts-litecell15/lc15_l1_if.c1
-rw-r--r--src/pcu_l1_if.cpp9
-rw-r--r--src/pcuif_proto.h1
3 files changed, 11 insertions, 0 deletions
diff --git a/src/osmo-bts-litecell15/lc15_l1_if.c b/src/osmo-bts-litecell15/lc15_l1_if.c
index 01bebec..013c78c 100644
--- a/src/osmo-bts-litecell15/lc15_l1_if.c
+++ b/src/osmo-bts-litecell15/lc15_l1_if.c
@@ -352,6 +352,7 @@ int l1if_pdch_req(void *obj, uint8_t ts, int is_ptcch, uint32_t fn,
/* transmit */
if (osmo_wqueue_enqueue(&fl1h->write_q[MQ_PDTCH_WRITE], msg) != 0) {
LOGP(DL1IF, LOGL_ERROR, "PDTCH queue full. dropping message.\n");
+ osmo_signal_dispatch(SS_L_GLOBAL, S_PCU_NM_PDTCH_QUEUE_FULL_ALARM, &alarm_sig_data);
msgb_free(msg);
}
diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp
index cdfce69..7308fa1 100644
--- a/src/pcu_l1_if.cpp
+++ b/src/pcu_l1_if.cpp
@@ -686,6 +686,15 @@ static int handle_pcu_fail_evt_rep_sig(unsigned int subsys, unsigned int signal,
PCU_NM_EVT_CAUSE_MAJ_UKWN_L1_PRIM_MSG,
sig_data->add_text);
break;
+
+ case S_PCU_NM_PDTCH_QUEUE_FULL_ALARM:
+ rc = pcu_tx_nm_fail_evt(NM_EVT_PROC_FAIL,
+ NM_SEVER_MAJOR,
+ NM_PCAUSE_T_MANUF,
+ PCU_NM_EVT_CAUSE_MAJ_PDTCH_QUEUE_FULL,
+ "PCU: PDTCH queue full. PCU is dropping message.\n");
+ 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 46b5db5..e4604ba 100644
--- a/src/pcuif_proto.h
+++ b/src/pcuif_proto.h
@@ -64,6 +64,7 @@ enum pcu_nm_event_causes {
PCU_NM_EVT_CAUSE_MAJ_UKWN_L1_MSG = 0x3012,
PCU_NM_EVT_CAUSE_MAJ_UKWN_L1_PRIM_MSG = 0x3013,
PCU_NM_EVT_CAUSE_MAJ_UKWN_BTS_MSG = 0x3014,
+ PCU_NM_EVT_CAUSE_MAJ_PDTCH_QUEUE_FULL = 0x333a,
/* Warning causes */
PCU_NM_EVT_CAUSE_WARN_NO_PDCH_AVAIL = 0x3011,