diff --git a/esphome/components/bluetooth_connection/bluetooth_connection_bluedroid.h b/esphome/components/bluetooth_connection/bluetooth_connection_bluedroid.h index 0bde3745d4..80c47e6a4c 100644 --- a/esphome/components/bluetooth_connection/bluetooth_connection_bluedroid.h +++ b/esphome/components/bluetooth_connection/bluetooth_connection_bluedroid.h @@ -144,8 +144,10 @@ class BluedroidGattClient final : public esp32_ble_tracker::ESPBTClient, public uint8_t remote_addr_type_{0}; esp32_ble_tracker::ConnectionType connection_type_{esp32_ble_tracker::ConnectionType::V3_WITHOUT_CACHE}; uint8_t connection_index_; - // Set only when release_services() cleans the stack's GATT cache, which no - // walk may then touch (Bluedroid asserts rather than erroring). + // Set by every release_services(): terminates an in-flight service stream + // (a partial list must never be sent as authoritative) and, when the cache + // was cleaned, marks the database unsafe to walk (Bluedroid asserts rather + // than erroring). bool services_released_{false}; // The connected report waits for the MTU exchange; OPEN_EVT alone would // hand HA the default 23. diff --git a/tests/components/bluetooth_proxy/test-passive.esp32-c6-idf.yaml b/tests/components/bluetooth_proxy/test-passive.esp32-c6-idf.yaml index 3507c80662..06ce74dbad 100644 --- a/tests/components/bluetooth_proxy/test-passive.esp32-c6-idf.yaml +++ b/tests/components/bluetooth_proxy/test-passive.esp32-c6-idf.yaml @@ -1,5 +1,5 @@ # Advertisement-only proxy on esp32 by explicit choice: no GATT backend is -# compiled (USE_BLE_GATT_CLIENT unset), which pins the SERVES_PROXY gating and the +# compiled (USE_BLE_GATT_CLIENT unset), which pins the HAS_GATT gating and the # address-scoped maintenance path that a connections build never exercises. packages: common: !include common.yaml