From f7eb887f4eb2558bf97c1f88a9fff37868ae44ae Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Thu, 16 Sep 2021 11:25:12 -0700 Subject: policy: Use btd_service_is_initiator Instead of using BTD_SERVICE_STATE_CONNECTING use btd_service_is_initiator to determine if the service initiated the connection and then proceed to connect other service immediately. Fixes: https://github.com/bluez/bluez/issues/205 --- plugins/policy.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'plugins') diff --git a/plugins/policy.c b/plugins/policy.c index bf93df096..051db82e1 100644 --- a/plugins/policy.c +++ b/plugins/policy.c @@ -279,7 +279,7 @@ static void sink_cb(struct btd_service *service, btd_service_state_t old_state, /* Check if service initiate the connection then proceed * immediatelly otherwise set timer */ - if (old_state == BTD_SERVICE_STATE_CONNECTING) + if (btd_service_is_initiator(service)) policy_connect(data, controller); else if (btd_service_get_state(controller) != BTD_SERVICE_STATE_CONNECTED) @@ -315,7 +315,7 @@ static void hs_cb(struct btd_service *service, btd_service_state_t old_state, /* Check if service initiate the connection then proceed * immediately otherwise set timer */ - if (old_state == BTD_SERVICE_STATE_CONNECTING) + if (btd_service_is_initiator(service)) policy_connect(data, sink); else if (btd_service_get_state(sink) != BTD_SERVICE_STATE_CONNECTED) @@ -430,7 +430,7 @@ static void source_cb(struct btd_service *service, /* Check if service initiate the connection then proceed * immediatelly otherwise set timer */ - if (old_state == BTD_SERVICE_STATE_CONNECTING) + if (btd_service_is_initiator(service)) policy_connect(data, target); else if (btd_service_get_state(target) != BTD_SERVICE_STATE_CONNECTED) -- cgit v1.2.1