Skip to content

Commit

Permalink
Bluetooth: Remove rx < tx prio check
Browse files Browse the repository at this point in the history
The comment states the reason for this requirement is to detect
violations by a remote peer. The ATT version of this was removed in
ea04fd9. TLDR: It's neither possible
for, nor the job of the host to police the remote device.

We remove this requirement to be more flexible about the number of
priority levels in the system, and to avoid the temptation of using
priorities as a synchronization mechanism.

Signed-off-by: Aleksander Wasaznik <[email protected]>
  • Loading branch information
alwa-nordic authored and aescolar committed Apr 18, 2024
1 parent f0f897d commit 5dd1cdd
Showing 1 changed file with 0 additions and 7 deletions.
7 changes: 0 additions & 7 deletions subsys/bluetooth/common/dummy.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,6 @@ BUILD_ASSERT(sizeof(bt_addr_t) == BT_ADDR_SIZE);
BUILD_ASSERT(sizeof(bt_addr_le_t) == BT_ADDR_LE_SIZE);

#if defined(CONFIG_BT_HCI_HOST)
/* The Bluetooth subsystem requires the Tx thread to execute at higher priority
* than the Rx thread as the Tx thread needs to process the acknowledgements
* before new Rx data is processed. This is a necessity to correctly detect
* transaction violations in ATT and SMP protocols.
*/
BUILD_ASSERT(CONFIG_BT_HCI_TX_PRIO < CONFIG_BT_RX_PRIO);

/* The Bluetooth subsystem requires that higher priority events shall be given
* in a priority higher than the Bluetooth Host's Tx and the Controller's
* receive thread priority.
Expand Down

0 comments on commit 5dd1cdd

Please sign in to comment.