mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-19 01:15:23 +00:00
Prevent redundant collision resolves and potential incorrect and harmful increment of lazy_current. During collision scenarios with high CPU load, the ticker_worker may be called a second time before the ticker_job gets to run. This will cause ticker operations on the previosly expired node (expected), and in some cases increment lazy_current, even though the node was not sceduled to execute via the req/ack mechanism. By moving the request check before collision resolve, CPU time is saved, and lazy_current will not incorrectly be incremented if node is in collision. The problem may be seen as a connection suddenly not receiving packets, or MIC error on master, because the event counter goes out of sync. Signed-off-by: Morten Priess <mtpr@oticon.com> |
||
---|---|---|
.. | ||
ticker.c | ||
ticker.h |