From 3d7dbe6d7c98cd1cf14bac6bf9af99a57adb5d3b Mon Sep 17 00:00:00 2001 From: Andrzej Kaczmarek Date: Thu, 28 Feb 2019 13:45:04 +0100 Subject: [PATCH] nimble/ll: Fix rescheduling ADV PDU It should be marked as enqueued if scheduled, otherwise we may not be able to remove scheduled item since ble_ll_sched_rmv_elem() check if element is marked as enqueued before even attempting to remove it. --- nimble/controller/src/ble_ll_sched.c | 1 + 1 file changed, 1 insertion(+) diff --git a/nimble/controller/src/ble_ll_sched.c b/nimble/controller/src/ble_ll_sched.c index 70b8f2668..33a26e06e 100644 --- a/nimble/controller/src/ble_ll_sched.c +++ b/nimble/controller/src/ble_ll_sched.c @@ -1050,6 +1050,7 @@ ble_ll_sched_adv_resched_pdu(struct ble_ll_sched_item *sch) } os_cputime_timer_stop(&g_ble_ll_sched_timer); TAILQ_INSERT_BEFORE(entry, sch, link); + sch->enqueued = 1; } OS_EXIT_CRITICAL(sr);