DORMANTno replies

[PATCH BlueZ 2/3] policy: Avoid using UUID if field is not set

From: Peter Mullen <hidden>
Date: 2020-10-16 22:09:39
Subsystem: the rest · Maintainer: Linus Torvalds

---
  plugins/policy.c | 26 ++++++++++++++------------
  1 file changed, 14 insertions(+), 12 deletions(-)
diff --git a/plugins/policy.c b/plugins/policy.c
index dac1b7a24..e156c0db2 100644
--- a/plugins/policy.c
+++ b/plugins/policy.c
@@ -635,17 +635,19 @@ static void service_cb(struct btd_service *service,
  	struct btd_profile *profile = btd_service_get_profile(service);
  	struct reconnect_data *reconnect;
  -	if (g_str_equal(profile->remote_uuid, A2DP_SINK_UUID))
-		sink_cb(service, old_state, new_state);
-	else if (g_str_equal(profile->remote_uuid, A2DP_SOURCE_UUID))
-		source_cb(service, old_state, new_state);
-	else if (g_str_equal(profile->remote_uuid, AVRCP_REMOTE_UUID))
-		controller_cb(service, old_state, new_state);
-	else if (g_str_equal(profile->remote_uuid, AVRCP_TARGET_UUID))
-		target_cb(service, old_state, new_state);
-	else if (g_str_equal(profile->remote_uuid, HFP_HS_UUID) ||
-			g_str_equal(profile->remote_uuid, HSP_HS_UUID))
-		hs_cb(service, old_state, new_state);
+	if (profile->remote_uuid) {
+		if (g_str_equal(profile->remote_uuid, A2DP_SINK_UUID))
+			sink_cb(service, old_state, new_state);
+		else if (g_str_equal(profile->remote_uuid, A2DP_SOURCE_UUID))
+			source_cb(service, old_state, new_state);
+		else if (g_str_equal(profile->remote_uuid, AVRCP_REMOTE_UUID))
+			controller_cb(service, old_state, new_state);
+		else if (g_str_equal(profile->remote_uuid, AVRCP_TARGET_UUID))
+			target_cb(service, old_state, new_state);
+		else if (g_str_equal(profile->remote_uuid, HFP_HS_UUID) ||
+				g_str_equal(profile->remote_uuid, HSP_HS_UUID))
+			hs_cb(service, old_state, new_state);
+	}
   	/*
  	 * Return if the reconnection feature is not enabled (all
@@ -687,7 +689,7 @@ static void service_cb(struct btd_service *service,
  	 * be the first profile that's connected so we might have an
  	 * entry but with the reconnect flag set to false.
  	 */
-	if (!reconnect->reconnect)
+	if (!reconnect->reconnect && profile->remote_uuid)
  		reconnect->reconnect = reconnect_match(profile->remote_uuid);
   	DBG("Added %s reconnect %u", profile->name, reconnect->reconnect);
-- 
2.28.0

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help