diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-04-11 17:18:02 +0200 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-04-11 17:18:02 +0200 |
commit | 9dac231fe4da631e21e921c2f1db2958dee89d72 (patch) | |
tree | 48e9ad07512492e2899311a62a2dd78a20ae586c /openbsc/src/e1_input.c | |
parent | 2bb518a3bd78cdce4d98d0b38dfa03bad6fdb04c (diff) |
e1_input: Stop the timer when deleting the signalling link on the TS
Stop the tx_timer when deleting the link on top of that ts. Otherwise
bad things might happen. E.g. when scheduling a write on OML and then
the OML link vanishes...
This is a slight layering violation as there could be more than
one signalling link on the timeslow (at least in theory) so the
queue and the timer should move to the e1inp_sign_link.
Diffstat (limited to 'openbsc/src/e1_input.c')
-rw-r--r-- | openbsc/src/e1_input.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/openbsc/src/e1_input.c b/openbsc/src/e1_input.c index 7ddd40559..b1dfe9b1d 100644 --- a/openbsc/src/e1_input.c +++ b/openbsc/src/e1_input.c @@ -428,6 +428,9 @@ void e1inp_sign_link_destroy(struct e1inp_sign_link *link) msgb_free(msg); } + if (link->ts->type == E1INP_TS_TYPE_SIGN) + bsc_del_timer(&link->ts->sign.tx_timer); + talloc_free(link); } |