diff --git a/src/shared/gatt-client.c b/src/shared/gatt-client.c
index 1acd34f..12c9b2f 100644
--- a/src/shared/gatt-client.c
+++ b/src/shared/gatt-client.c
util_debug(client->debug_callback, client->debug_data,
"Failed to start characteristic discovery");
- discovery_op_unref(op);
goto failed;
}
util_debug(client->debug_callback, client->debug_data,
"Failed to start included discovery");
- discovery_op_unref(op);
failed:
op->success = false;
op->complete_func(op, false, att_ecode);
+ discovery_op_unref(op);
}
struct chrc {
util_debug(client->debug_callback, client->debug_data,
"Failed to start descriptor discovery");
- discovery_op_unref(op);
+ /*
+ * discovery_op_unref done in discover_chrcs_cb
+ * and discover_descs_cb functions
+ */
goto failed;
}
util_debug(client->debug_callback, client->debug_data,
"Failed to start characteristic discovery");
- discovery_op_unref(op);
failed:
success = false;
done:
op->success = success;
op->complete_func(op, success, att_ecode);
+ discovery_op_unref(op);
}
static void discover_chrcs_cb(bool success, uint8_t att_ecode,
util_debug(client->debug_callback, client->debug_data,
"Failed to start characteristic discovery");
- discovery_op_unref(op);
failed:
success = false;
done:
op->success = success;
op->complete_func(op, success, att_ecode);
+ discovery_op_unref(op);
}
static void discover_secondary_cb(bool success, uint8_t att_ecode,
util_debug(client->debug_callback, client->debug_data,
"Failed to start included services discovery");
- discovery_op_unref(op);
done:
op->success = success;
op->complete_func(op, success, att_ecode);
+ discovery_op_unref(op);
}
static void discover_primary_cb(bool success, uint8_t att_ecode,
util_debug(client->debug_callback, client->debug_data,
"Failed to start secondary service discovery");
- discovery_op_unref(op);
success = false;
done:
op->success = success;
op->complete_func(op, success, att_ecode);
+ discovery_op_unref(op);
}
static void notify_client_ready(struct bt_gatt_client *client, bool success,