Skip to content

Conversation

@Thalley
Copy link
Contributor

@Thalley Thalley commented Dec 19, 2024

When we receive a response from a server we do not have an outstanding request with, we disconnect the connection rather than just ignoring it.

The reason for this is that the remote server is
not ensuring correct ATT flow control, which means that we cannot trust future responses from the
server.

Relates to #81432

Once this has gone through, similar changes to GATT will be implemented where invalid responses will be considered a disconnectable reason

@Thalley
Copy link
Contributor Author

Thalley commented Jan 8, 2025

https://bluetooth.atlassian.net/browse/ES-26081 also briefly touches on this subject. It's is generally undefined how a GATT client should handle unsolicited responses.

When we receive a response from a server we do not have an
outstanding request with, we disconnect the connection
rather than just ignoring it.

The reason for this is that the remote server is
not ensuring correct ATT flow control, which means
that we cannot trust future responses from the
server.

Signed-off-by: Emil Gydesen <[email protected]>
@Thalley Thalley marked this pull request as ready for review February 6, 2025 14:02
@zephyrbot zephyrbot added area: Bluetooth area: Bluetooth Host Bluetooth Host (excluding BR/EDR) labels Feb 6, 2025
@jhedberg jhedberg requested a review from JordanYates February 6, 2025 14:36
@fabiobaltieri fabiobaltieri merged commit 09fb533 into zephyrproject-rtos:main Feb 10, 2025
33 checks passed
@Thalley Thalley deleted the att_disconnect branch February 10, 2025 16:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: Bluetooth Host Bluetooth Host (excluding BR/EDR) area: Bluetooth

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants