From a4d9259912b591fa7091557a6b8025438f337f52 Mon Sep 17 00:00:00 2001 From: lly Date: Wed, 25 Mar 2020 12:35:16 +0800 Subject: [PATCH] ble_mesh: Fix Provisioner provisioning deadlock --- components/bt/esp_ble_mesh/mesh_core/provisioner_prov.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/components/bt/esp_ble_mesh/mesh_core/provisioner_prov.c b/components/bt/esp_ble_mesh/mesh_core/provisioner_prov.c index 5c6f152b8..c061c682d 100644 --- a/components/bt/esp_ble_mesh/mesh_core/provisioner_prov.c +++ b/components/bt/esp_ble_mesh/mesh_core/provisioner_prov.c @@ -660,6 +660,7 @@ static int provisioner_start_prov_pb_adv(const u8_t uuid[16], const bt_mesh_addr if (assign_addr == BLE_MESH_ADDR_UNASSIGNED && prov_ctx.curr_alloc_addr == BLE_MESH_ADDR_UNASSIGNED) { BT_ERR("No available unicast address to assign"); + bt_mesh_pb_adv_unlock(); return -EIO; } @@ -718,6 +719,7 @@ static int provisioner_start_prov_pb_gatt(const u8_t uuid[16], const bt_mesh_add if (assign_addr == BLE_MESH_ADDR_UNASSIGNED && prov_ctx.curr_alloc_addr == BLE_MESH_ADDR_UNASSIGNED) { BT_ERR("No available unicast address to assign"); + bt_mesh_pb_gatt_unlock(); return -EIO; }