Bluetooth: Fix missing update of conn params
We should update any stored connection parameters when we receive the LE Remote Connection Parameter Request HCI event. This patch adds the necessary code to the function that handles the event. Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
Родитель
a26f3dcff2
Коммит
348d50b8e9
|
@ -4429,9 +4429,25 @@ static void hci_le_remote_conn_param_req_evt(struct hci_dev *hdev,
|
||||||
return send_conn_param_neg_reply(hdev, handle,
|
return send_conn_param_neg_reply(hdev, handle,
|
||||||
HCI_ERROR_INVALID_LL_PARAMS);
|
HCI_ERROR_INVALID_LL_PARAMS);
|
||||||
|
|
||||||
if (test_bit(HCI_CONN_MASTER, &hcon->flags))
|
if (test_bit(HCI_CONN_MASTER, &hcon->flags)) {
|
||||||
|
struct hci_conn_params *params;
|
||||||
|
|
||||||
|
hci_dev_lock(hdev);
|
||||||
|
|
||||||
|
params = hci_conn_params_lookup(hdev, &hcon->dst,
|
||||||
|
hcon->dst_type);
|
||||||
|
if (params) {
|
||||||
|
params->conn_min_interval = min;
|
||||||
|
params->conn_max_interval = max;
|
||||||
|
params->conn_latency = latency;
|
||||||
|
params->supervision_timeout = timeout;
|
||||||
|
}
|
||||||
|
|
||||||
|
hci_dev_unlock(hdev);
|
||||||
|
|
||||||
mgmt_new_conn_param(hdev, &hcon->dst, hcon->dst_type, min, max,
|
mgmt_new_conn_param(hdev, &hcon->dst, hcon->dst_type, min, max,
|
||||||
latency, timeout);
|
latency, timeout);
|
||||||
|
}
|
||||||
|
|
||||||
cp.handle = ev->handle;
|
cp.handle = ev->handle;
|
||||||
cp.interval_min = ev->interval_min;
|
cp.interval_min = ev->interval_min;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче