From d2920be715974795b51f9cc3279947104da3647b Mon Sep 17 00:00:00 2001 From: Vinicius Costa Gomes Date: Fri, 3 Feb 2012 20:06:45 -0300 Subject: [PATCH] device: Fix doing SDP discovery for LE devices If ReverseServiceDiscovery is enabled and we are connected to a LE device, we should do a Primary Service Discovery, not a SDP discovery (which doesn't even make sense). --- src/device.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/device.c b/src/device.c index 46f26d1da..c7c741c94 100644 --- a/src/device.c +++ b/src/device.c @@ -1933,7 +1933,9 @@ int device_browse_primary(struct btd_device *device, DBusConnection *conn, return -EIO; } - req->conn = dbus_connection_ref(conn); + if (conn) + req->conn = dbus_connection_ref(conn); + device->browse = req; if (msg) { @@ -2118,7 +2120,10 @@ static gboolean start_discovery(gpointer user_data) { struct btd_device *device = user_data; - device_browse_sdp(device, NULL, NULL, NULL, TRUE); + if (device_is_bredr(device)) + device_browse_sdp(device, NULL, NULL, NULL, FALSE); + else + device_browse_primary(device, NULL, NULL, FALSE); device->discov_timer = 0; -- 2.47.3