From 410f228247bfe10d99798acb08c22ba3470662d9 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Sun, 8 Nov 2015 08:53:35 +0100 Subject: [PATCH] core: Start SDP server only for BR/EDR or dual mode operation --- src/main.c | 19 ++++++++++++------- src/sdpd-server.c | 3 +-- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/main.c b/src/main.c index 4c94a692c..9124dc55d 100644 --- a/src/main.c +++ b/src/main.c @@ -616,14 +616,18 @@ int main(int argc, char *argv[]) btd_agent_init(); btd_profile_init(); - if (option_compat == TRUE) - sdp_flags |= SDP_SERVER_COMPAT; + if (main_opts.mode != BT_MODE_LE) { + if (option_compat == TRUE) + sdp_flags |= SDP_SERVER_COMPAT; - start_sdp_server(sdp_mtu, sdp_flags); + start_sdp_server(sdp_mtu, sdp_flags); - if (main_opts.did_source > 0) - register_device_id(main_opts.did_source, main_opts.did_vendor, - main_opts.did_product, main_opts.did_version); + if (main_opts.did_source > 0) + register_device_id(main_opts.did_source, + main_opts.did_vendor, + main_opts.did_product, + main_opts.did_version); + } if (mps != MPS_OFF) register_mps(mps == MPS_MULTIPLE); @@ -674,7 +678,8 @@ int main(int argc, char *argv[]) rfkill_exit(); - stop_sdp_server(); + if (main_opts.mode != BT_MODE_LE) + stop_sdp_server(); g_main_loop_unref(event_loop); diff --git a/src/sdpd-server.c b/src/sdpd-server.c index e6b611ae2..c863508df 100644 --- a/src/sdpd-server.c +++ b/src/sdpd-server.c @@ -46,8 +46,7 @@ #include "sdpd.h" static guint l2cap_id = 0, unix_id = 0; - -static int l2cap_sock, unix_sock; +static int l2cap_sock = -1, unix_sock = -1; /* * SDP server initialization on startup includes creating the -- 2.47.3