From: Joseph Hwang <josephsih@xxxxxxxxxxxx> When pairing with a BLE keyboard, bluetoothd suffers from authentication errors as follows: ERR bluetoothd[1103]: Report Map read failed: Attribute requires authentication before read/write ERR bluetoothd[1103]: Protocol Mode characteristic read failed: Attribute requires authentication before read/write ERR bluetoothd[1103]: HID Information read failed: Attribute requires authentication before read/write This is because the original security level is BT_ATT_SECURITY_LOW, while BT_ATT_SECURITY_HIGH is required for pairing. This patch enables the security elevation so that handle_error_rsp() could push the operation back to request queue properly. --- src/shared/att.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/shared/att.c b/src/shared/att.c index 3a84783..331fae7 100644 --- a/src/shared/att.c +++ b/src/shared/att.c @@ -574,9 +574,6 @@ static bool change_security(struct bt_att *att, uint8_t ecode) int security; security = bt_att_get_security(att); - if (security != BT_ATT_SECURITY_AUTO) - return false; - if (ecode == BT_ATT_ERROR_INSUFFICIENT_ENCRYPTION && security < BT_ATT_SECURITY_MEDIUM) security = BT_ATT_SECURITY_MEDIUM; -- 2.7.0.rc3.207.g0ac5344 -- 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