瀏覽代碼

Bluetooth: Update the security level when link is encrypted

If the pending security level is greater than the current security
level and the link is now encrypted, we should update the link
security level.

This is only useful for LE links, when the only event generated
when SMP is sucessful in the Encrypt Change event.

Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@openbossa.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
Vinicius Costa Gomes 14 年之前
父節點
當前提交
88167aed0d
共有 1 個文件被更改,包括 3 次插入0 次删除
  1. 3 0
      include/net/bluetooth/hci_core.h

+ 3 - 0
include/net/bluetooth/hci_core.h

@@ -745,6 +745,9 @@ static inline void hci_encrypt_cfm(struct hci_conn *conn, __u8 status,
 	if (conn->sec_level == BT_SECURITY_SDP)
 	if (conn->sec_level == BT_SECURITY_SDP)
 		conn->sec_level = BT_SECURITY_LOW;
 		conn->sec_level = BT_SECURITY_LOW;
 
 
+	if (conn->pending_sec_level > conn->sec_level)
+		conn->sec_level = conn->pending_sec_level;
+
 	hci_proto_encrypt_cfm(conn, status, encrypt);
 	hci_proto_encrypt_cfm(conn, status, encrypt);
 
 
 	read_lock_bh(&hci_cb_list_lock);
 	read_lock_bh(&hci_cb_list_lock);