aboutsummaryrefslogtreecommitdiffstats
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-11 17:18:02 +0200
commit9dac231fe4da631e21e921c2f1db2958dee89d72 (patch)
tree48e9ad07512492e2899311a62a2dd78a20ae586c
parent2bb518a3bd78cdce4d98d0b38dfa03bad6fdb04c (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.
-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);
}