Bluetooth: controller: split: Fix flash driver co-operation
When flash driver requests abort of radio event in unreserved time space, resume radio events in the pipeline were not flushed. These resumed events caused flash driver to assert on the check whether radio was in use. Fixed by flushing the pipeline of all radio events, resume and also those events in pipeline with pre-empt timeout being setup. Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
This commit is contained in:
parent
9d6c170e22
commit
848015854a
1 changed files with 3 additions and 2 deletions
|
@ -218,7 +218,8 @@ void lll_resume(void *param)
|
|||
|
||||
void lll_disable(void *param)
|
||||
{
|
||||
if (!param || param == event.curr.param) {
|
||||
/* LLL disable of current event, done is generated */
|
||||
if (!param || (param == event.curr.param)) {
|
||||
if (event.curr.abort_cb && event.curr.param) {
|
||||
event.curr.abort_cb(NULL, event.curr.param);
|
||||
} else {
|
||||
|
@ -232,7 +233,7 @@ void lll_disable(void *param)
|
|||
next = ull_prepare_dequeue_iter(&idx);
|
||||
while (next) {
|
||||
if (!next->is_aborted &&
|
||||
param == next->prepare_param.param) {
|
||||
(!param || (param == next->prepare_param.param))) {
|
||||
next->is_aborted = 1;
|
||||
next->abort_cb(&next->prepare_param,
|
||||
next->prepare_param.param);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue