If there is an error during execute write we should drop all outstanding data --- src/shared/gatt-server.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/shared/gatt-server.c b/src/shared/gatt-server.c index ba668e3..329f53f 100644 --- a/src/shared/gatt-server.c +++ b/src/shared/gatt-server.c @@ -1204,6 +1204,9 @@ static void exec_next_prep_write(struct bt_gatt_server *server, err = BT_ATT_ERROR_UNLIKELY; error: + queue_remove_all(server->prep_queue, NULL, NULL, + prep_write_data_destroy); + bt_att_send_error_rsp(server->att, BT_ATT_OP_EXEC_WRITE_REQ, ehandle, err); } -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html