diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c index 13d9b7154ef..45aa228af12 100644 --- a/net/bluetooth/hci_event.c +++ b/net/bluetooth/hci_event.c @@ -2708,6 +2708,11 @@ static inline void hci_remote_ext_features_evt(struct hci_dev *hdev, struct sk_b ie->data.ssp_mode = (ev->features[0] & 0x01); conn->ssp_mode = (ev->features[0] & 0x01); + /*In case if remote device ssp supported/2.0 device + reduce the security level to MEDIUM if it is HIGH*/ + if (!conn->ssp_mode && + (conn->pending_sec_level == BT_SECURITY_HIGH)) + conn->pending_sec_level = BT_SECURITY_MEDIUM; } if (conn->state != BT_CONFIG)