diff --git a/src/ble/att_server.c b/src/ble/att_server.c index 8f06867f8..4c61407f1 100644 --- a/src/ble/att_server.c +++ b/src/ble/att_server.c @@ -856,10 +856,14 @@ void att_server_request_can_send_now_event(hci_con_handle_t con_handle){ } void att_server_register_can_send_now_callback(btstack_context_callback_registration_t * callback_registration, hci_con_handle_t con_handle){ - // check if can send already - if (att_dispatch_server_can_send_now(con_handle)){ - callback_registration->callback(callback_registration->context); - return; + // check if valid con handle + switch (gap_get_connection_type(con_handle)){ + case BD_ADDR_TYPE_LE_PUBLIC: + case BD_ADDR_TYPE_LE_RANDOM: + break; + default: + // con handle not valid for att send + return; } callback_registration->context = (void*)(uintptr_t) con_handle; btstack_linked_list_add_tail(&can_send_now_clients, (btstack_linked_item_t*) callback_registration);