From 4d089dbbbdc8785d1e54cedb344b5207ee3bbd0e Mon Sep 17 00:00:00 2001
From: Rotzbua <Rotzbua@users.noreply.github.com>
Date: Sat, 1 Oct 2022 12:25:43 +0200
Subject: [PATCH] [BLE Client] Fix deadlock if connection loss ...

... while readValue
---
 libraries/BLE/src/BLERemoteCharacteristic.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/libraries/BLE/src/BLERemoteCharacteristic.cpp b/libraries/BLE/src/BLERemoteCharacteristic.cpp
index dbf7e736a74..825ca33c73b 100644
--- a/libraries/BLE/src/BLERemoteCharacteristic.cpp
+++ b/libraries/BLE/src/BLERemoteCharacteristic.cpp
@@ -247,6 +247,8 @@ void BLERemoteCharacteristic::gattClientEventHandler(esp_gattc_cb_event_t event,
 			break;
 
 		case ESP_GATTC_DISCONNECT_EVT:
+			// Cleanup semaphores to avoid deadlocks.
+			m_semaphoreReadCharEvt.give(1);
 			m_semaphoreWriteCharEvt.give(1);
 			break;