diff --git a/src/shared/gatt-client.c b/src/shared/gatt-client.c
index 12c9b2f..1acd34f 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,