From f51b9006a18432019fa788a8f139c4e30b87ecaa Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Sun, 11 Apr 2010 17:18:02 +0200 Subject: [PATCH] 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. --- openbsc/src/e1_input.c | 3 +++ 1 file changed, 3 insertions(+) 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); }