aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/openbts_sock.cpp5
-rw-r--r--src/sysmo_l1_if.c10
2 files changed, 12 insertions, 3 deletions
diff --git a/src/openbts_sock.cpp b/src/openbts_sock.cpp
index 2d9cae41..5e6f16c6 100644
--- a/src/openbts_sock.cpp
+++ b/src/openbts_sock.cpp
@@ -79,7 +79,10 @@ struct l1fwd_hdl *l1fh = talloc_zero(NULL, struct l1fwd_hdl);
int pcu_sock_send(struct msgb *msg)
{
- osmo_wqueue_enqueue(&l1fh->udp_wq, msg);
+ if (osmo_wqueue_enqueue(&l1fh->udp_wq, msg) != 0) {
+ LOGP(DPCU, LOGL_ERROR, "PCU write queue full. Dropping message.\n");
+ msgb_free(msg);
+ }
return 0;
}
diff --git a/src/sysmo_l1_if.c b/src/sysmo_l1_if.c
index bef680ef..c0721b87 100644
--- a/src/sysmo_l1_if.c
+++ b/src/sysmo_l1_if.c
@@ -36,7 +36,10 @@ static int l1if_req_pdch(struct femtol1_hdl *fl1h, struct msgb *msg)
{
struct osmo_wqueue *wqueue = &fl1h->write_q[MQ_PDTCH_WRITE];
- osmo_wqueue_enqueue(wqueue, msg);
+ if (osmo_wqueue_enqueue(wqueue, msg) != 0) {
+ LOGP(DL1IF, LOGL_ERROR, "PDTCH queue full. dropping message.\n");
+ msgb_free(msg);
+ }
return 0;
}
@@ -324,7 +327,10 @@ int l1if_pdch_req(void *obj, uint8_t ts, int is_ptcch, uint32_t fn,
/* transmit */
- osmo_wqueue_enqueue(&fl1h->write_q[MQ_PDTCH_WRITE], msg);
+ if (osmo_wqueue_enqueue(&fl1h->write_q[MQ_PDTCH_WRITE], msg) != 0) {
+ LOGP(DL1IF, LOGL_ERROR, "PDTCH queue full. dropping message.\n");
+ msgb_free(msg);
+ }
return 0;
}