Bluetooth: controller: Fix ticker state on skipped

Reset ticker state in ticker_job for ticker instances that
have been skipped in the ticker_worker.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
This commit is contained in:
Vinayak Kariappa Chettimada 2020-03-27 14:59:23 +05:30 committed by Carles Cufí
commit b263c2860e

View file

@ -1433,6 +1433,12 @@ static inline void ticker_job_worker_bh(struct ticker_instance *instance,
* restarted
*/
ticker->ticks_to_expire = ticks_elapsed;
/* Reset ticker state, so that its put
* back in requested state later down
* in the code.
*/
ticker->req = ticker->ack;
} else {
u16_t lazy_periodic;
u32_t count;
@ -1443,6 +1449,12 @@ static inline void ticker_job_worker_bh(struct ticker_instance *instance,
lazy_periodic = ticker->lazy_periodic;
} else {
lazy_periodic = 0U;
/* Reset ticker state, so that its put
* back in requested state later down
* in the code.
*/
ticker->req = ticker->ack;
}
/* Reload ticks_to_expire with atleast one