From bfc6cec8a52df879d1196f115397f6762ccbdf3b Mon Sep 17 00:00:00 2001 From: Minh-Quang Nguyen Date: Wed, 7 Sep 2016 10:31:20 -0400 Subject: LC15: Implementation of PDTCH queue is full alarm. The alarm cause ID is manufacture-defined by NuRAN Wireless. Change-Id: I9ea5146f9940177e08c9f0b3087b0ab4b0c170d9 --- src/osmo-bts-litecell15/lc15_l1_if.c | 1 + src/pcu_l1_if.cpp | 9 +++++++++ src/pcuif_proto.h | 1 + 3 files changed, 11 insertions(+) diff --git a/src/osmo-bts-litecell15/lc15_l1_if.c b/src/osmo-bts-litecell15/lc15_l1_if.c index 01bebec1..013c78c9 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 cdfce690..7308fa1f 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 46b5db53..e4604ba7 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, -- cgit v1.2.3