diff mbox series

[BlueZ] gatt-client: allow AcquireNotify when characteristic has indicate flag

Message ID AS1P189MB1963A74490BC265D1B4E9FDA9E8F2@AS1P189MB1963.EURP189.PROD.OUTLOOK.COM
State New
Headers show
Series [BlueZ] gatt-client: allow AcquireNotify when characteristic has indicate flag | expand

Commit Message

Benedek Kupper Aug. 22, 2024, 9:46 a.m. UTC

diff mbox series

Patch

From 412a8a7b3f5b3cc3ef160f49648648a184210c18 Mon Sep 17 00:00:00 2001
From: Benedek Kupper <benedek.kupper@epitome.inc>
Date: Thu, 22 Aug 2024 11:36:51 +0200
Subject: [PATCH] gatt-client: allow AcquireNotify when characteristic has
 indicate flag

StartNotify / StopNotify already correctly allows usage when the
characteristic indicate is present (simplify this check though),
apply the same to AcquireNotify.
---
 src/gatt-client.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/gatt-client.c b/src/gatt-client.c
index 8d83a9577..a67e04eee 100644
--- a/src/gatt-client.c
+++ b/src/gatt-client.c
@@ -1556,7 +1556,8 @@  static DBusMessage *characteristic_acquire_notify(DBusConnection *conn,
 	if (!queue_isempty(chrc->notify_clients))
 		return btd_error_in_progress(msg);
 
-	if (!(chrc->props & BT_GATT_CHRC_PROP_NOTIFY))
+	if (!(chrc->props & (BT_GATT_CHRC_PROP_NOTIFY |
+			BT_GATT_CHRC_PROP_INDICATE)))
 		return btd_error_not_supported(msg);
 
 	client = notify_client_create(chrc, sender);
@@ -1601,8 +1602,8 @@  static DBusMessage *characteristic_start_notify(DBusConnection *conn,
 	if (chrc->notify_io)
 		return btd_error_not_permitted(msg, "Notify acquired");
 
-	if (!(chrc->props & BT_GATT_CHRC_PROP_NOTIFY ||
-				chrc->props & BT_GATT_CHRC_PROP_INDICATE))
+	if (!(chrc->props & (BT_GATT_CHRC_PROP_NOTIFY |
+				BT_GATT_CHRC_PROP_INDICATE)))
 		return btd_error_not_supported(msg);
 
 	/* Each client can only have one active notify session. */
-- 
2.34.1