fix timer and linked list handling of new RLL code
diff --git a/openbsc/src/bsc_rll.c b/openbsc/src/bsc_rll.c
index 09c3bc2..57e8c15 100644
--- a/openbsc/src/bsc_rll.c
+++ b/openbsc/src/bsc_rll.c
@@ -80,8 +80,11 @@
rllr->cb = cb;
rllr->data = data;
+ llist_add(&rllr->list, &bsc_rll_reqs);
+
rllr->timer.cb = &timer_cb;
- /* start some timer? */
+ rllr->timer.data = rllr;
+
bsc_schedule_timer(&rllr->timer, 10, 0);
/* send the RSL RLL ESTablish REQuest */
@@ -97,6 +100,7 @@
llist_for_each_entry_safe(rllr, rllr2, &bsc_rll_reqs, list) {
if (rllr->lchan == lchan &&
(rllr->link_id & LINKID_MASK) == (link_id & LINKID_MASK)) {
+ bsc_del_timer(&rllr->timer);
complete_rllr(rllr, type);
return;
}