diff --git a/src/shared/gatt-client.c b/src/shared/gatt-client.c
index af12860..acb6200 100644
--- a/src/shared/gatt-client.c
+++ b/src/shared/gatt-client.c
static void cancel_long_write_cb(uint8_t opcode, const void *pdu, uint16_t len,
void *user_data)
{
- /* Do nothing */
+ struct bt_gatt_client *client = user_data;
+
+ if (queue_isempty(client->long_write_queue))
+ client->in_long_write = false;
}
static bool cancel_long_write_req(struct bt_gatt_client *client,
struct request *req)
{
uint8_t pdu = 0x00;
- bool ret;
/*
* att_id == 0 means that request has been queued and no prepare write
* Otherwise execute write needs to be send.
*/
if (!req->att_id)
- ret = queue_remove(client->long_write_queue, req);
- else
- ret = !!bt_att_send(client->att, BT_ATT_OP_EXEC_WRITE_REQ, &pdu,
+ return queue_remove(client->long_write_queue, req);
+
+ return !!bt_att_send(client->att, BT_ATT_OP_EXEC_WRITE_REQ, &pdu,
sizeof(pdu),
cancel_long_write_cb,
- NULL, NULL);
-
- if (queue_isempty(client->long_write_queue))
- client->in_long_write = false;
+ client, NULL);
- return ret;
}
bool bt_gatt_client_cancel(struct bt_gatt_client *client, unsigned int id)