Skip to content

Commit 227d938

Browse files
committed
espressif: don't do ble resets if adapter is not enabled; can cause crashes
1 parent c955e48 commit 227d938

2 files changed

Lines changed: 6 additions & 0 deletions

File tree

‎ports/espressif/common-hal/_bleio/Adapter.c‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -819,6 +819,9 @@ void bleio_adapter_gc_collect(bleio_adapter_obj_t *adapter) {
819819
}
820820

821821
void bleio_adapter_reset(bleio_adapter_obj_t *adapter) {
822+
if (!common_hal_bleio_adapter_get_enabled(&common_hal_bleio_adapter_obj)) {
823+
return;
824+
}
822825
common_hal_bleio_adapter_stop_scan(adapter);
823826
common_hal_bleio_adapter_stop_advertising(adapter);
824827

‎ports/espressif/common-hal/_bleio/__init__.c‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ static uint64_t _timeout_start_time;
3232
background_callback_t bleio_background_callback;
3333

3434
void bleio_user_reset(void) {
35+
if (!common_hal_bleio_adapter_get_enabled(&common_hal_bleio_adapter_obj)) {
36+
return;
37+
}
3538
// Stop any user scanning or advertising, and stop all connections.
3639
// TODO: Don't stop BLE workflow connection.
3740
bleio_adapter_reset(&common_hal_bleio_adapter_obj);

0 commit comments

Comments
 (0)