2019-09-04 18:18:42

by Marcel Holtmann

[permalink] [raw]
Subject: [PATCH] Revert "Bluetooth: validate BLE connection interval updates"

This reverts commit c49a8682fc5d298d44e8d911f4fa14690ea9485e.

There are devices which require low connection intervals for usable operation
including keyboards and mice. Forcing a static connection interval for
these types of devices has an impact in latency and causes a regression.

Signed-off-by: Marcel Holtmann <[email protected]>
---
net/bluetooth/hci_event.c | 5 -----
net/bluetooth/l2cap_core.c | 9 +--------
2 files changed, 1 insertion(+), 13 deletions(-)

diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
index cdb00c2ef242..c1d3a303d97f 100644
--- a/net/bluetooth/hci_event.c
+++ b/net/bluetooth/hci_event.c
@@ -5660,11 +5660,6 @@ static void hci_le_remote_conn_param_req_evt(struct hci_dev *hdev,
return send_conn_param_neg_reply(hdev, handle,
HCI_ERROR_UNKNOWN_CONN_ID);

- if (min < hcon->le_conn_min_interval ||
- max > hcon->le_conn_max_interval)
- return send_conn_param_neg_reply(hdev, handle,
- HCI_ERROR_INVALID_LL_PARAMS);
-
if (hci_check_conn_params(min, max, latency, timeout))
return send_conn_param_neg_reply(hdev, handle,
HCI_ERROR_INVALID_LL_PARAMS);
diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c
index dfc1edb168b7..da7fdbdf9c41 100644
--- a/net/bluetooth/l2cap_core.c
+++ b/net/bluetooth/l2cap_core.c
@@ -5305,14 +5305,7 @@ static inline int l2cap_conn_param_update_req(struct l2cap_conn *conn,

memset(&rsp, 0, sizeof(rsp));

- if (min < hcon->le_conn_min_interval ||
- max > hcon->le_conn_max_interval) {
- BT_DBG("requested connection interval exceeds current bounds.");
- err = -EINVAL;
- } else {
- err = hci_check_conn_params(min, max, latency, to_multiplier);
- }
-
+ err = hci_check_conn_params(min, max, latency, to_multiplier);
if (err)
rsp.result = cpu_to_le16(L2CAP_CONN_PARAM_REJECTED);
else
--
2.21.0


2019-09-05 06:06:37

by Johan Hedberg

[permalink] [raw]
Subject: Re: [PATCH] Revert "Bluetooth: validate BLE connection interval updates"

Hi Marcel,

On Wed, Sep 04, 2019, Marcel Holtmann wrote:
> This reverts commit c49a8682fc5d298d44e8d911f4fa14690ea9485e.
>
> There are devices which require low connection intervals for usable operation
> including keyboards and mice. Forcing a static connection interval for
> these types of devices has an impact in latency and causes a regression.
>
> Signed-off-by: Marcel Holtmann <[email protected]>
> ---
> net/bluetooth/hci_event.c | 5 -----
> net/bluetooth/l2cap_core.c | 9 +--------
> 2 files changed, 1 insertion(+), 13 deletions(-)

Applied to the bluetooth stable tree. Thanks.

Johan