Failed phy request not retried and may prevent DLE procedure during auto-initiation #31473
Labels
area: Bluetooth Controller
area: Bluetooth Host
area: Bluetooth
Enhancement
Changes/Updates/Additions to existing features
When an auto-initiated phy request collides with other procedure initiated by the peer, the "Different Transaction Collision" error code is ignored, and auto-initiation continued, effectively skipping phy update.
To Reproduce
After connection is established, the central/peripheral LLCP timing must be such that the auto-initiated phy update request from peripheral is sent just before e.g. a encryption request is received by the peripheral. This will get the request in the air, and central responds with a rejection: "Different Transaction Collision".
This behavior can be observed in the simulation test
basic_conn_split.sh
, which is only "saved" by the central doing a phy update later.Expected behavior
The host app expects that at least a reasonable effort has gone into executing the auto-initiated LLCPs, doing simple retries where applicable.
Impact
Link is left in 1 Mbps phy when 2 is expected.
Environment
Issue is seen on vendor implementation based on Zephyr 2.2.1, and on latest master with CI test
basic_conn_split.sh
.The text was updated successfully, but these errors were encountered: