diff --git a/src/ble/att_server.c b/src/ble/att_server.c index 4c0a43eb8..5dd44ae60 100644 --- a/src/ble/att_server.c +++ b/src/ble/att_server.c @@ -347,6 +347,10 @@ static int att_server_process_validated_request(att_server_t * att_server){ // callback with handle ATT_READ_RESPONSE_PENDING att_server_client_read_callback(att_server->connection.con_handle, ATT_READ_RESPONSE_PENDING, 0, NULL, 0); + + // free reserved buffer + l2cap_release_packet_buffer(); + return 0; } #endif diff --git a/src/hci.h b/src/hci.h index 93252b0ef..970e3c288 100644 --- a/src/hci.h +++ b/src/hci.h @@ -409,6 +409,7 @@ typedef enum { ATT_SERVER_REQUEST_RECEIVED, ATT_SERVER_W4_SIGNED_WRITE_VALIDATION, ATT_SERVER_REQUEST_RECEIVED_AND_VALIDATED, + ATT_SERVER_READ_RESPONSE_PENDING, } att_server_state_t; typedef struct {