This patch fix replying for Service Changed indication when the device is not bonded. From Erratum 3951: Indications caused by changes to the Service Changed Characteristic Value shall be considered lost if the client has not enabled indications the Client Configuration Characteristic Descriptor. --- profiles/gatt/gas.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/profiles/gatt/gas.c b/profiles/gatt/gas.c index a828fcd..b42aa64 100644 --- a/profiles/gatt/gas.c +++ b/profiles/gatt/gas.c @@ -146,6 +146,11 @@ static void indication_cb(const uint8_t *pdu, uint16_t len, gpointer user_data) DBG("Service Changed start: 0x%04X end: 0x%04X", start, end); + if (device_is_bonded(gas->device) == FALSE) { + DBG("Ignoring Service Changed: device is not bonded"); + return; + } + /* Confirming indication received */ opdu = g_attrib_get_buffer(gas->attrib, &plen); olen = enc_confirmation(opdu, plen); -- 1.7.12 -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html