summaryrefslogtreecommitdiff
path: root/src/gatt-database.c
diff options
context:
space:
mode:
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2021-01-08 13:08:25 -0800
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2021-01-08 13:14:55 -0800
commit39054d59c0ecdb102f8aa352cb7aa6fcbd7f2b6b (patch)
tree6fd5d8ac2220b7e8e188c956b786ba71d1658453 /src/gatt-database.c
parent1ef6570a70d917585ed654f26b5ee06c54bc3b3e (diff)
downloadbluez-39054d59c0ecdb102f8aa352cb7aa6fcbd7f2b6b.tar.gz
gatt: Fix assuming service changed has been subscribed
Unfortunately assuming service changed has been subscribed may cause indication to time out in some peripherals (Logitech M720 Triathlon, Mx Anywhere 2, Lenovo Mice N700, RAPOO BleMouse and Microsoft Designer Mouse) even though the expect actually mandates that the client responds with confirmation these peripherals just ignores it completely which leads them to be disconnected whenever bluetoothd is restarted or the system reboots.
Diffstat (limited to 'src/gatt-database.c')
-rw-r--r--src/gatt-database.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gatt-database.c b/src/gatt-database.c
index b7d2bea1d..d99604826 100644
--- a/src/gatt-database.c
+++ b/src/gatt-database.c
@@ -333,7 +333,7 @@ static void att_disconnected(int err, void *user_data)
handle = gatt_db_attribute_get_handle(state->db->svc_chngd_ccc);
ccc = find_ccc_state(state, handle);
- if (ccc)
+ if (ccc && ccc->value)
device_store_svc_chng_ccc(device, state->bdaddr_type,
ccc->value);