diff --git a/src/device.c b/src/device.c
index 7e701da..00d2ecb 100644
--- a/src/device.c
+++ b/src/device.c
{
if (req->listener_id)
g_dbus_remove_watch(req->conn, req->listener_id);
- if (req->attrib)
- g_attrib_unref(req->attrib);
if (req->msg)
dbus_message_unref(req->msg);
if (req->conn)
uuids = g_slist_append(uuids, prim->uuid);
}
- /*
- * Profiles may register attio callbacks in the probing callback.
- * GAttrib reference can be released if the registered callbacks
- * list is emtpy.
- */
- device->attrib = g_attrib_ref(req->attrib);
-
device_register_services(req->conn, device, g_slist_copy(services), -1);
device_probe_drivers(device, uuids);
{
struct btd_device *device = user_data;
struct browse_req *req = device->browse;
- GAttrib *attrib;
g_io_channel_unref(device->att_io);
device->att_io = NULL;
return;
}
- attrib = g_attrib_new(io);
- device->attachid = attrib_channel_attach(attrib, TRUE);
+ device->attrib = g_attrib_new(io);
+ device->attachid = attrib_channel_attach(device->attrib, TRUE);
if (device->attachid == 0)
error("Attribute server attach failure!");
- req->attrib = attrib;
- gatt_discover_primary(req->attrib, NULL, primary_cb, req);
+ gatt_discover_primary(device->attrib, NULL, primary_cb, req);
}
int device_browse_primary(struct btd_device *device, DBusConnection *conn,