AcquireNotify and StartNotify starts notifications and/or indications by whether the characteristic supports them. Before this patch, if both were supported, Bluez would try to start both simultaneously. This patch changes this behavior so if both are supported, only notifications are started. --- src/shared/gatt-client.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/shared/gatt-client.c b/src/shared/gatt-client.c index 4e10f244d..1ff5e94ee 100644 --- a/src/shared/gatt-client.c +++ b/src/shared/gatt-client.c @@ -1591,14 +1591,13 @@ static bool notify_data_write_ccc(struct notify_data *notify_data, bool enable, put_le16(notify_data->chrc->ccc_handle, pdu); if (enable) { - /* Try to enable notifications and/or indications based on + /* Try to enable notifications or indications based on * whatever the characteristic supports. */ if (notify_data->chrc->properties & BT_GATT_CHRC_PROP_NOTIFY) pdu[2] = 0x01; - - if (notify_data->chrc->properties & BT_GATT_CHRC_PROP_INDICATE) - pdu[2] |= 0x02; + else if (notify_data->chrc->properties & BT_GATT_CHRC_PROP_INDICATE) + pdu[2] = 0x02; if (!pdu[2]) return false; -- 2.31.1