diff options
Diffstat (limited to 'net/bluetooth/hci_conn.c')
-rw-r--r-- | net/bluetooth/hci_conn.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c index 6ec259e84b95..eae7a53467ef 100644 --- a/net/bluetooth/hci_conn.c +++ b/net/bluetooth/hci_conn.c | |||
@@ -608,9 +608,7 @@ int hci_conn_check_link_mode(struct hci_conn *conn) | |||
608 | { | 608 | { |
609 | BT_DBG("conn %p", conn); | 609 | BT_DBG("conn %p", conn); |
610 | 610 | ||
611 | if (test_bit(HCI_CONN_SSP_ENABLED, &conn->flags) && | 611 | if (hci_conn_ssp_enabled(conn) && !(conn->link_mode & HCI_LM_ENCRYPT)) |
612 | test_bit(HCI_SSP_ENABLED, &conn->hdev->dev_flags) && | ||
613 | !(conn->link_mode & HCI_LM_ENCRYPT)) | ||
614 | return 0; | 612 | return 0; |
615 | 613 | ||
616 | return 1; | 614 | return 1; |
@@ -672,9 +670,7 @@ int hci_conn_security(struct hci_conn *conn, __u8 sec_level, __u8 auth_type) | |||
672 | 670 | ||
673 | /* For non 2.1 devices and low security level we don't need the link | 671 | /* For non 2.1 devices and low security level we don't need the link |
674 | key. */ | 672 | key. */ |
675 | if (sec_level == BT_SECURITY_LOW && | 673 | if (sec_level == BT_SECURITY_LOW && !hci_conn_ssp_enabled(conn)) |
676 | (!test_bit(HCI_CONN_SSP_ENABLED, &conn->flags) || | ||
677 | !test_bit(HCI_SSP_ENABLED, &conn->hdev->dev_flags))) | ||
678 | return 1; | 674 | return 1; |
679 | 675 | ||
680 | /* For other security levels we need the link key. */ | 676 | /* For other security levels we need the link key. */ |