[xenial] SRU: Bluetooth: increase timeout for le auto connections

Message ID 20171110121105.GD13231@annapurna
State New
Headers show
Series
  • [xenial] SRU: Bluetooth: increase timeout for le auto connections
Related show

Commit Message

Konrad Zapalowicz Nov. 10, 2017, 12:11 p.m.
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@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@canonical.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
(cherry picked from commit 1f01d8be0e6a04bd682a55f6d50c14c1679e7571)
---
 include/net/bluetooth/hci.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Seth Forshee Nov. 13, 2017, 3:53 p.m. | #1
On Fri, Nov 10, 2017 at 01:11:05PM +0100, Konrad Zapalowicz wrote:
> 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.

Typically you should include this information in a cover letter (use
'git format-patch --cover-letter ...', then edit the cover letter and
send the patches with 'git send-email'). It's more difficult to apply
patches when sent like this, however it's not my job to apply this patch
so I'll let others tell you whether or not you should resend it.

> [Patch]
> 
> From 2d5a130b6cf6cbf992f9a7a66dcab8ab4e8e15f9 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Konrad=20Zapa=C5=82owicz?= <konrad.zapalowicz@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@canonical.com>
> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
> (cherry picked from commit 1f01d8be0e6a04bd682a55f6d50c14c1679e7571)

Since this patch is only in linux-next right now, this should be changed
to read:

 (cherry picked from commit 1f01d8be0e6a04bd682a55f6d50c14c1679e7571 linux-next)

Otherwise we assume the sha1 is from Linus' tree, but it doesn't exist
there yet. With that change:

Acked-by: Seth Forshee <seth.forshee@canonical.com>

But again, I'll let others say whether or not you need to resend to fix
this.

Thanks,
Seth
Konrad Zapalowicz Nov. 14, 2017, 10:51 a.m. | #2
From: Konrad Zapałowicz <konrad.zapalowicz@canonical.com>

SRU Justification:

BugLink: https://bugs.launchpad.net/bugs/1731467

[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.

Konrad Zapałowicz (1):
  [xenial] (upstream) Bluetooth: increase timeout for le auto
    connections

 include/net/bluetooth/hci.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Kleber Souza Nov. 14, 2017, 3:41 p.m. | #3
On 11/10/17 13:11, Konrad Zapalowicz wrote:
> 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@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@canonical.com>
> Signed-off-by: Marcel Holtmann <marcel@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
> 

As pointed out by Seth, there are some issues with this patch
submission, but we can fix them while applying it. Please follow these
guidelines when sending future patches.

When submitting a patch to fix a bug in the kernel, the Launchpad bug
needs to be marked as affecting the "linux (Ubuntu)" package and
nominated for the relevant series (Xenial in this case). I have fixed it
on LP:#1731467.

Given that the issues pointed out by Seth is fixed while applying the patch:
Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
Kleber Souza Nov. 17, 2017, 9:57 a.m. | #4
On 11/17/17 08:47, Konrad Zapalowicz wrote:
> On 11/14, Kleber Souza wrote:
>> On 11/10/17 13:11, Konrad Zapalowicz wrote:
>>> 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@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@canonical.com>
>>> Signed-off-by: Marcel Holtmann <marcel@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
>>>
>>
>> As pointed out by Seth, there are some issues with this patch
>> submission, but we can fix them while applying it. Please follow these
>> guidelines when sending future patches.
>>
>> When submitting a patch to fix a bug in the kernel, the Launchpad bug
>> needs to be marked as affecting the "linux (Ubuntu)" package and
>> nominated for the relevant series (Xenial in this case). I have fixed it
>> on LP:#1731467.
>>
>> Given that the issues pointed out by Seth is fixed while applying the patch:
>> Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
> 
> Thanks. So it has been merged, right?
> 
> /Konrad
> 

Hi,

The patch hasn't been applied to the Xenial tree yet, when that's done
we will send a reply with a "APPLIED" tag on the subject. However, it's
got the necessary ACK's on the mailing list and the next SRU cycle
begins next week, so it will be applied soon and the fix will become
available on the next kernel update.

Regards,
Kleber
Kleber Souza Nov. 17, 2017, 10:31 a.m. | #5
On 11/17/17 11:23, Konrad Zapałowicz wrote:
> On Fri, Nov 17, 2017 at 10:57 AM, Kleber Souza
> <kleber.souza@canonical.com> wrote:
>> On 11/17/17 08:47, Konrad Zapalowicz wrote:
>>> On 11/14, Kleber Souza wrote:
>>>> On 11/10/17 13:11, Konrad Zapalowicz wrote:
>>>>> 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@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@canonical.com>
>>>>> Signed-off-by: Marcel Holtmann <marcel@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
>>>>>
>>>>
>>>> As pointed out by Seth, there are some issues with this patch
>>>> submission, but we can fix them while applying it. Please follow these
>>>> guidelines when sending future patches.
>>>>
>>>> When submitting a patch to fix a bug in the kernel, the Launchpad bug
>>>> needs to be marked as affecting the "linux (Ubuntu)" package and
>>>> nominated for the relevant series (Xenial in this case). I have fixed it
>>>> on LP:#1731467.
>>>>
>>>> Given that the issues pointed out by Seth is fixed while applying the patch:
>>>> Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
>>>
>>> Thanks. So it has been merged, right?
>>>
>>> /Konrad
>>>
>>
>> Hi,
>>
>> The patch hasn't been applied to the Xenial tree yet, when that's done
>> we will send a reply with a "APPLIED" tag on the subject. However, it's
>> got the necessary ACK's on the mailing list and the next SRU cycle
>> begins next week, so it will be applied soon and the fix will become
>> available on the next kernel update.
> 
> December 11th, right?

Right, that's the scheduled date for the next SRU cycle going to -updates.

> 
> Sorry for pushing however I need to notify the customer about when the change
> will be available. This one is highly expected.
> 
> Thanks,
> Konrad
> 
>>
>> Regards,
>> Kleber

Patch

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