Skip to content

fix: host race condition on hci acl data packets#935

Open
klow68 wants to merge 1 commit into
google:mainfrom
klow68:fix/acl-race-condition
Open

fix: host race condition on hci acl data packets#935
klow68 wants to merge 1 commit into
google:mainfrom
klow68:fix/acl-race-condition

Conversation

@klow68
Copy link
Copy Markdown
Contributor

@klow68 klow68 commented Jun 2, 2026

After some analysis, we found that we had some race condition on acl data packets which arrived before the connection complete

This PR add a fix for the race condition where ACL data can arrive before the corresponding Connection Complete event.
Use a buffer to store packets by handle and replaying them once the connection is established.
And buffered packets are removed after a delay of 100ms

Analysis:
When a BLE central connects to the nRF52840 dongle and immediately sends an SMP Pairing Request, the ACL data packet is delivered to Bumble before the LE Connection Complete event due to USB endpoint ordering, causing Bumble to drop the pairing request for an unknown connection handle and leaving the pairing stuck until the connection times out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant