Bluetooth: Simplify hci_conn_accept_secure check
authorWaldemar Rymarkiewicz <waldemar.rymarkiewicz@tieto.com>
Thu, 2 Jun 2011 12:24:52 +0000 (14:24 +0200)
committerGustavo F. Padovan <padovan@profusion.mobi>
Wed, 8 Jun 2011 19:58:19 +0000 (16:58 -0300)
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 0408a93..37f5a17 100644 (file)
@@ -643,9 +643,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 */