-
Notifications
You must be signed in to change notification settings - Fork 7.6k
Bluetooth: Controller: Fix assertion using BT_CTLR_LOW_LAT_ULL_DONE #92715
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Bluetooth: Controller: Fix assertion using BT_CTLR_LOW_LAT_ULL_DONE #92715
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR refactors the placement of the done_inc()
call under the CONFIG_BT_CTLR_LOW_LAT_ULL_DONE
setting to prevent an assertion by moving it into the ULL_HIGH context.
- Removed early
done_inc()
under low-latency macro and added it in the later conditional block - Inverted the
#if
/#else
sodone_inc()
is only called whenCONFIG_BT_CTLR_LOW_LAT_ULL_DONE
is enabled
#else /* !CONFIG_BT_CTLR_LOW_LAT_ULL_DONE */ | ||
done_inc(); | ||
#endif /* !CONFIG_BT_CTLR_LOW_LAT_ULL_DONE */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The comment on this #else
branch is inverted: since this branch corresponds to CONFIG_BT_CTLR_LOW_LAT_ULL_DONE
being defined, update the comment to /* CONFIG_BT_CTLR_LOW_LAT_ULL_DONE */
.
#else /* !CONFIG_BT_CTLR_LOW_LAT_ULL_DONE */ | |
done_inc(); | |
#endif /* !CONFIG_BT_CTLR_LOW_LAT_ULL_DONE */ | |
#else /* CONFIG_BT_CTLR_LOW_LAT_ULL_DONE */ | |
done_inc(); | |
#endif /* CONFIG_BT_CTLR_LOW_LAT_ULL_DONE */ |
Copilot uses AI. Check for mistakes.
BT_CTLR_LOW_LAT_ULL_DONE is used to reduce CPU usage in LLL context by delegating the done event dequeue to ULL_HIGH context. Building a HCI Controller with BT_CTLR_LOW_LAT_ULL_DONE had assertion when used with BlueZ stack. Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
72a2be3
to
a60e59b
Compare
Addressed a minor copilot requested change. |
|
BT_CTLR_LOW_LAT_ULL_DONE is used to reduce CPU usage in LLL context by delegating the done event dequeue to ULL_HIGH context.
Building a HCI Controller with BT_CTLR_LOW_LAT_ULL_DONE had assertion when used with BlueZ stack.