diff options
Diffstat (limited to 'openbsc/src/e1_input.c')
-rw-r--r-- | openbsc/src/e1_input.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/openbsc/src/e1_input.c b/openbsc/src/e1_input.c index fba59a784..b1dfe9b1d 100644 --- a/openbsc/src/e1_input.c +++ b/openbsc/src/e1_input.c @@ -420,7 +420,17 @@ e1inp_sign_link_create(struct e1inp_ts *ts, enum e1inp_sign_type type, void e1inp_sign_link_destroy(struct e1inp_sign_link *link) { + struct msgb *msg; + llist_del(&link->list); + while (!llist_empty(&link->tx_list)) { + msg = msgb_dequeue(&link->tx_list); + msgb_free(msg); + } + + if (link->ts->type == E1INP_TS_TYPE_SIGN) + bsc_del_timer(&link->ts->sign.tx_timer); + talloc_free(link); } |