aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/e1_input.c
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-04-11 17:18:02 +0200
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-04-25 23:13:26 +0800
commitf51b9006a18432019fa788a8f139c4e30b87ecaa (patch)
tree6e491a4a04670409b23a2f92fb9418a4c50effd2 /openbsc/src/e1_input.c
parent4ac100ec248c6431c12cae725b5759aed43066ea (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 timeslot (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.c3
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);
}