[xenial] SRU: Bluetooth: increase timeout for le auto connections
Konrad Zapalowicz
konrad.zapalowicz at canonical.com
Fri Nov 10 12:11:05 UTC 2017
SRU Justification:
[Impact]
Not possible to pair BLE remote devices such as sensors and such with
Ubuntu when the host system uses BT+WiFi combo SoC. The connection
attempt is disturbed with a timeout.
[Fix]
It has been fixed by increasing the timeout value from 2 seconds to
4 seconds. It is enough for the events to reach the stack (measured
that it takes between 3 and 3.5 seconds).
[Testcase]
Tested with the device that failed to connect to Ubuntu Core gateway.
It fails w/o the patch, it connects just fine with the patch applied.
[Regression Potential]
Very small. The increased timeout is taken into consideration only for
new and scan report triggered connections. It will not make any already
working device to fail to pair.
[Other Info]
The bug has been discussed and fixed here:
https://marc.info/?l=linux-bluetooth&m=150824844606937&w=2
https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git/commit/?id=1f01d8be0e6a04bd682a55f6d50c14c1679e7571
The patch has been accepted by the upstream and will be a part of the
next kernel release. Currently in the bluetooth-next tree.
[Patch]
>From 2d5a130b6cf6cbf992f9a7a66dcab8ab4e8e15f9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Konrad=20Zapa=C5=82owicz?= <konrad.zapalowicz at canonical.com>
Date: Tue, 17 Oct 2017 15:53:49 +0200
Subject: [PATCH] [xenial] (upstream) Bluetooth: increase timeout for le auto
connections
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
BugLink: https://bugs.launchpad.net/bugs/1731467
This patch increases the connection timeout for LE connections that are
triggered by the advertising report to 4 seconds.
It has been observed that devices equipped with wifi+bt combo SoC fail
to create a connection with BLE devices due to their coexistence issues.
Increasing this timeout gives them enough time to complete the
connection with success.
Signed-off-by: Konrad ZapaĆowicz <konrad.zapalowicz at canonical.com>
Signed-off-by: Marcel Holtmann <marcel at holtmann.org>
(cherry picked from commit 1f01d8be0e6a04bd682a55f6d50c14c1679e7571)
---
include/net/bluetooth/hci.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h
index 0205b80..630f6d7 100644
--- a/include/net/bluetooth/hci.h
+++ b/include/net/bluetooth/hci.h
@@ -266,7 +266,7 @@ enum {
#define HCI_AUTO_OFF_TIMEOUT msecs_to_jiffies(2000) /* 2 seconds */
#define HCI_POWER_OFF_TIMEOUT msecs_to_jiffies(5000) /* 5 seconds */
#define HCI_LE_CONN_TIMEOUT msecs_to_jiffies(20000) /* 20 seconds */
-#define HCI_LE_AUTOCONN_TIMEOUT msecs_to_jiffies(2000) /* 2 seconds */
+#define HCI_LE_AUTOCONN_TIMEOUT msecs_to_jiffies(4000) /* 4 seconds */
/* HCI data types */
#define HCI_COMMAND_PKT 0x01
--
2.7.4
More information about the kernel-team
mailing list