-
Notifications
You must be signed in to change notification settings - Fork 7.7k
Closed
Labels
area: Bluetooth HostBluetooth Host (excluding BR/EDR)Bluetooth Host (excluding BR/EDR)area: Bluetooth MeshbugThe issue is a bug, or the PR is fixing a bugThe issue is a bug, or the PR is fixing a bugpriority: lowLow impact/importance bugLow impact/importance bug
Description
Describe the bug
The changes introduced with this PR and additional PR to avoid deadlocks by overriding K_FOREVER with K_NO_WAIT in buffer allocation requested by syswq. Thus, this changes introduces a big behavior change for the layers that uses host and syswq. For MESH stack it causes to loose mesh messages send by using syswq.
Those changes propagates the failures caused by host and controller interaction mechanism to the upper layers and for the app side it does not make so much sense but confusion. That changes necessitates changes that should handles this particular corner case by every bt_host user.
The possible mitigations:
- Increasing the resources; like increasing the count of the HCI cmd buffers however it is likely to introduce scaling issues for upper layers end application.
- Another solution seems to eliminate the usage of the sysqw in MESH stack, it would eliminate the failure for most part of the mesh however still the end application is susceptible to the same mistake by calling certain MESH APIs from sysqw and failing directly, the same way we got failures from the host. Thus, this option does not seems like a complete solution.
Alongside this bug in MESH, the behavioral change is not visible enough for bt_host users in documentation.
Metadata
Metadata
Assignees
Labels
area: Bluetooth HostBluetooth Host (excluding BR/EDR)Bluetooth Host (excluding BR/EDR)area: Bluetooth MeshbugThe issue is a bug, or the PR is fixing a bugThe issue is a bug, or the PR is fixing a bugpriority: lowLow impact/importance bugLow impact/importance bug
Type
Projects
Status
Done