Bluetooth: Simplify hci_conn_accept_secure check
authorWaldemar Rymarkiewicz <waldemar.rymarkiewicz@tieto.com>
Thu, 2 Jun 2011 12:24:52 +0000 (14:24 +0200)
committermgross <mark.gross@intel.com>
Wed, 9 Nov 2011 20:10:33 +0000 (12:10 -0800)
If the link key is secure (authenticated or combination 16 digit)
the sec_level will be always BT_SECURITY_HIGH. Therefore, instead
of checking the link key type simply check the sec_level on the link.

Signed-off-by: Waldemar Rymarkiewicz <waldemar.rymarkiewicz@tieto.com>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
net/bluetooth/hci_conn.c

index 532a373..bb91099 100644 (file)
@@ -657,9 +657,7 @@ int hci_conn_check_secure(struct hci_conn *conn, __u8 sec_level)
        if (sec_level != BT_SECURITY_HIGH)
                return 1; /* Accept if non-secure is required */
 
-       if (conn->key_type == HCI_LK_AUTH_COMBINATION ||
-                       (conn->key_type == HCI_LK_COMBINATION &&
-                       conn->pin_length == 16))
+       if (conn->sec_level == BT_SECURITY_HIGH)
                return 1;
 
        return 0; /* Reject not secure link */