diff --git a/profiles/network/manager.c b/profiles/network/manager.c
index 87d263a..ad52885 100644
--- a/profiles/network/manager.c
+++ b/profiles/network/manager.c
req->cb(req->profile, req->device, err);
+ btd_device_unref(req->device);
+
g_free(req);
}
DBG("path %s id %u", device_get_path(dev), id);
req = g_new0(struct connect_req, 1);
- req->device = dev;
+ req->device = btd_device_ref(dev);
req->profile = profile;
req->cb = cb;
err = connection_connect(dev, BNEP_SVC_PANU, NULL, connect_profile_cb,
req);
if (err < 0) {
+ btd_device_unref(req->device);
g_free(req);
return err;
}