|
@@ -586,6 +586,7 @@ static int hci_create_le_conn(struct hci_conn *conn)
|
|
|
static struct hci_conn *hci_connect_le(struct hci_dev *hdev, bdaddr_t *dst,
|
|
|
u8 dst_type, u8 sec_level, u8 auth_type)
|
|
|
{
|
|
|
+ struct hci_conn_params *params;
|
|
|
struct hci_conn *conn;
|
|
|
int err;
|
|
|
|
|
@@ -632,8 +633,15 @@ static struct hci_conn *hci_connect_le(struct hci_dev *hdev, bdaddr_t *dst,
|
|
|
conn->sec_level = BT_SECURITY_LOW;
|
|
|
conn->pending_sec_level = sec_level;
|
|
|
conn->auth_type = auth_type;
|
|
|
- conn->le_conn_min_interval = hdev->le_conn_min_interval;
|
|
|
- conn->le_conn_max_interval = hdev->le_conn_max_interval;
|
|
|
+
|
|
|
+ params = hci_conn_params_lookup(hdev, &conn->dst, conn->dst_type);
|
|
|
+ if (params) {
|
|
|
+ conn->le_conn_min_interval = params->conn_min_interval;
|
|
|
+ conn->le_conn_max_interval = params->conn_max_interval;
|
|
|
+ } else {
|
|
|
+ conn->le_conn_min_interval = hdev->le_conn_min_interval;
|
|
|
+ conn->le_conn_max_interval = hdev->le_conn_max_interval;
|
|
|
+ }
|
|
|
|
|
|
err = hci_create_le_conn(conn);
|
|
|
if (err)
|