From 653318479ac10b1790aac46227b92f4308492136 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Thu, 27 Feb 2025 17:56:55 +0000 Subject: [PATCH] Fix end_of_scan_ not being called while disconnecting (#8328) --- esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp b/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp index 5fff9dbcad..760aac628a 100644 --- a/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp +++ b/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp @@ -176,9 +176,9 @@ void ESP32BLETracker::loop() { https://github.com/espressif/esp-idf/issues/6688 */ - if (!connecting && !disconnecting && xSemaphoreTake(this->scan_end_lock_, 0L)) { + if (!connecting && xSemaphoreTake(this->scan_end_lock_, 0L)) { if (this->scan_continuous_) { - if (!promote_to_connecting && !this->scan_start_failed_ && !this->scan_set_param_failed_) { + if (!disconnecting && !promote_to_connecting && !this->scan_start_failed_ && !this->scan_set_param_failed_) { this->start_scan_(false); } else { // We didn't start the scan, so we need to release the lock