diff options
-rw-r--r-- | src/openbts_sock.cpp | 5 | ||||
-rw-r--r-- | src/sysmo_l1_if.c | 10 |
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; } |