diff mbox series

Bluetooth: btintel: Add devices to HCI_QUIRK_BROKEN_LE_CODED

Message ID 20240328131800.63328-1-wse@tuxedocomputers.com (mailing list archive)
State Superseded
Headers show
Series Bluetooth: btintel: Add devices to HCI_QUIRK_BROKEN_LE_CODED | expand

Checks

Context Check Description
tedd_an/pre-ci_am success Success
tedd_an/CheckPatch success CheckPatch PASS
tedd_an/GitLint success Gitlint PASS
tedd_an/SubjectPrefix success Gitlint PASS
tedd_an/BuildKernel success BuildKernel PASS
tedd_an/CheckAllWarning warning CheckSparse WARNING drivers/bluetooth/btintel.c: In function ‘btintel_setup_combined’:drivers/bluetooth/btintel.c:3034:3: warning: this statement may fall through [-Wimplicit-fallthrough=] 3034 | set_bit(HCI_QUIRK_BROKEN_LE_CODED, &hdev->quirks); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~drivers/bluetooth/btintel.c:3035:2: note: here 3035 | case 0x1b: | ^~~~
tedd_an/CheckSparse warning CheckSparse WARNING drivers/bluetooth/btintel.c: In function ‘btintel_setup_combined’:drivers/bluetooth/btintel.c:3034:3: warning: this statement may fall through [-Wimplicit-fallthrough=]drivers/bluetooth/btintel.c:3035:2: note: here
tedd_an/CheckSmatch fail CheckSparse: FAIL: Segmentation fault (core dumped) make[4]: *** [scripts/Makefile.build:244: net/bluetooth/hci_core.o] Error 139 make[4]: *** Deleting file 'net/bluetooth/hci_core.o' make[3]: *** [scripts/Makefile.build:485: net/bluetooth] Error 2 make[2]: *** [scripts/Makefile.build:485: net] Error 2 make[2]: *** Waiting for unfinished jobs.... Segmentation fault (core dumped) make[4]: *** [scripts/Makefile.build:244: drivers/bluetooth/bcm203x.o] Error 139 make[4]: *** Deleting file 'drivers/bluetooth/bcm203x.o' make[4]: *** Waiting for unfinished jobs.... make[3]: *** [scripts/Makefile.build:485: drivers/bluetooth] Error 2 make[2]: *** [scripts/Makefile.build:485: drivers] Error 2 make[1]: *** [/github/workspace/src/src/Makefile:1919: .] Error 2 make: *** [Makefile:240: __sub-make] Error 2
tedd_an/BuildKernel32 success BuildKernel32 PASS
tedd_an/TestRunnerSetup success TestRunnerSetup PASS
tedd_an/TestRunner_l2cap-tester success TestRunner PASS
tedd_an/TestRunner_iso-tester success TestRunner PASS
tedd_an/TestRunner_bnep-tester success TestRunner PASS
tedd_an/TestRunner_mgmt-tester success TestRunner PASS
tedd_an/TestRunner_rfcomm-tester success TestRunner PASS
tedd_an/TestRunner_sco-tester success TestRunner PASS
tedd_an/TestRunner_ioctl-tester success TestRunner PASS
tedd_an/TestRunner_mesh-tester success TestRunner PASS
tedd_an/TestRunner_smp-tester success TestRunner PASS
tedd_an/TestRunner_userchan-tester success TestRunner PASS
tedd_an/IncrementalBuild success Incremental Build PASS

Commit Message

Werner Sembach March 28, 2024, 1:18 p.m. UTC
From: Christoffer Sandberg <cs@tuxedo.de>

For HW variants 0x17, 0x18 and 0x19 LE Coded PHY causes scan and
connection issues when enabled. This patch disables it through
the existing quirk.

Signed-off-by: Christoffer Sandberg <cs@tuxedo.de>
Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
Cc: <stable@vger.kernel.org>
---
 drivers/bluetooth/btintel.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Paul Menzel March 28, 2024, 1:23 p.m. UTC | #1
Dear Christoffer, dear Werner,


Thank you for the patch.

Am 28.03.24 um 14:18 schrieb Werner Sembach:
> From: Christoffer Sandberg <cs@tuxedo.de>
> 
> For HW variants 0x17, 0x18 and 0x19 LE Coded PHY causes scan and
> connection issues when enabled. This patch disables it through
> the existing quirk.

It would fit in two lines with 75 characters per line.

On what hardware with what clients do you experience this exactly?

> Signed-off-by: Christoffer Sandberg <cs@tuxedo.de>
> Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
> Cc: <stable@vger.kernel.org>
> ---
>   drivers/bluetooth/btintel.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
> index cdc5c08824a0a..6dbfb74d0adf9 100644
> --- a/drivers/bluetooth/btintel.c
> +++ b/drivers/bluetooth/btintel.c
> @@ -2881,6 +2881,8 @@ static int btintel_setup_combined(struct hci_dev *hdev)
>   	case 0x17:
>   	case 0x18:
>   	case 0x19:
> +		/* 0x17, 0x18 and 0x19 have issues when LE Coded PHY is enabled */
> +		set_bit(HCI_QUIRK_BROKEN_LE_CODED, &hdev->quirks);
>   	case 0x1b:
>   	case 0x1c:
>   		/* Display version information of TLV type */


Kind regards,

Paul
bluez.test.bot@gmail.com March 28, 2024, 1:56 p.m. UTC | #2
This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=839335

---Test result---

Test Summary:
CheckPatch                    PASS      0.63 seconds
GitLint                       PASS      0.30 seconds
SubjectPrefix                 PASS      0.11 seconds
BuildKernel                   PASS      30.01 seconds
CheckAllWarning               WARNING   33.22 seconds
CheckSparse                   WARNING   38.49 seconds
CheckSmatch                   FAIL      35.31 seconds
BuildKernel32                 PASS      29.33 seconds
TestRunnerSetup               PASS      523.44 seconds
TestRunner_l2cap-tester       PASS      20.15 seconds
TestRunner_iso-tester         PASS      37.19 seconds
TestRunner_bnep-tester        PASS      6.26 seconds
TestRunner_mgmt-tester        PASS      113.00 seconds
TestRunner_rfcomm-tester      PASS      7.37 seconds
TestRunner_sco-tester         PASS      14.87 seconds
TestRunner_ioctl-tester       PASS      7.80 seconds
TestRunner_mesh-tester        PASS      5.81 seconds
TestRunner_smp-tester         PASS      6.85 seconds
TestRunner_userchan-tester    PASS      4.96 seconds
IncrementalBuild              PASS      32.67 seconds

Details
##############################
Test: CheckAllWarning - WARNING
Desc: Run linux kernel with all warning enabled
Output:
drivers/bluetooth/btintel.c: In function ‘btintel_setup_combined’:drivers/bluetooth/btintel.c:3034:3: warning: this statement may fall through [-Wimplicit-fallthrough=] 3034 |   set_bit(HCI_QUIRK_BROKEN_LE_CODED, &hdev->quirks);      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~drivers/bluetooth/btintel.c:3035:2: note: here 3035 |  case 0x1b:      |  ^~~~
##############################
Test: CheckSparse - WARNING
Desc: Run sparse tool with linux kernel
Output:
drivers/bluetooth/btintel.c: In function ‘btintel_setup_combined’:drivers/bluetooth/btintel.c:3034:3: warning: this statement may fall through [-Wimplicit-fallthrough=]drivers/bluetooth/btintel.c:3035:2: note: here
##############################
Test: CheckSmatch - FAIL
Desc: Run smatch tool with source
Output:

Segmentation fault (core dumped)
make[4]: *** [scripts/Makefile.build:244: net/bluetooth/hci_core.o] Error 139
make[4]: *** Deleting file 'net/bluetooth/hci_core.o'
make[3]: *** [scripts/Makefile.build:485: net/bluetooth] Error 2
make[2]: *** [scripts/Makefile.build:485: net] Error 2
make[2]: *** Waiting for unfinished jobs....
Segmentation fault (core dumped)
make[4]: *** [scripts/Makefile.build:244: drivers/bluetooth/bcm203x.o] Error 139
make[4]: *** Deleting file 'drivers/bluetooth/bcm203x.o'
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [scripts/Makefile.build:485: drivers/bluetooth] Error 2
make[2]: *** [scripts/Makefile.build:485: drivers] Error 2
make[1]: *** [/github/workspace/src/src/Makefile:1919: .] Error 2
make: *** [Makefile:240: __sub-make] Error 2


---
Regards,
Linux Bluetooth
Luiz Augusto von Dentz March 28, 2024, 2:17 p.m. UTC | #3
Hi Werner,

On Thu, Mar 28, 2024 at 9:18 AM Werner Sembach <wse@tuxedocomputers.com> wrote:
>
> From: Christoffer Sandberg <cs@tuxedo.de>
>
> For HW variants 0x17, 0x18 and 0x19 LE Coded PHY causes scan and
> connection issues when enabled. This patch disables it through
> the existing quirk.
>
> Signed-off-by: Christoffer Sandberg <cs@tuxedo.de>
> Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
> Cc: <stable@vger.kernel.org>
> ---
>  drivers/bluetooth/btintel.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
> index cdc5c08824a0a..6dbfb74d0adf9 100644
> --- a/drivers/bluetooth/btintel.c
> +++ b/drivers/bluetooth/btintel.c
> @@ -2881,6 +2881,8 @@ static int btintel_setup_combined(struct hci_dev *hdev)
>         case 0x17:
>         case 0x18:
>         case 0x19:
> +               /* 0x17, 0x18 and 0x19 have issues when LE Coded PHY is enabled */
> +               set_bit(HCI_QUIRK_BROKEN_LE_CODED, &hdev->quirks);

If it is just these 3 then we are missing a break here.

>         case 0x1b:
>         case 0x1c:
>                 /* Display version information of TLV type */
> --
> 2.34.1
>
Werner Sembach March 28, 2024, 11:20 p.m. UTC | #4
Hi Luiz,

Am 28.03.24 um 15:17 schrieb Luiz Augusto von Dentz:
> Hi Werner,
>
> On Thu, Mar 28, 2024 at 9:18 AM Werner Sembach <wse@tuxedocomputers.com> wrote:
>> From: Christoffer Sandberg <cs@tuxedo.de>
>>
>> For HW variants 0x17, 0x18 and 0x19 LE Coded PHY causes scan and
>> connection issues when enabled. This patch disables it through
>> the existing quirk.
>>
>> Signed-off-by: Christoffer Sandberg <cs@tuxedo.de>
>> Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
>> Cc: <stable@vger.kernel.org>
>> ---
>>   drivers/bluetooth/btintel.c | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
>> index cdc5c08824a0a..6dbfb74d0adf9 100644
>> --- a/drivers/bluetooth/btintel.c
>> +++ b/drivers/bluetooth/btintel.c
>> @@ -2881,6 +2881,8 @@ static int btintel_setup_combined(struct hci_dev *hdev)
>>          case 0x17:
>>          case 0x18:
>>          case 0x19:
>> +               /* 0x17, 0x18 and 0x19 have issues when LE Coded PHY is enabled */
>> +               set_bit(HCI_QUIRK_BROKEN_LE_CODED, &hdev->quirks);
> If it is just these 3 then we are missing a break here.

The cases are not added by the patch, the fallthrough was here before. This 
patch just adds this quirk for these 3 cases on top to the other things done 
below, aka the fallthrough is intentional.

Best regards,

Werner

>
>>          case 0x1b:
>>          case 0x1c:
>>                  /* Display version information of TLV type */
>> --
>> 2.34.1
>>
>
K, Kiran March 31, 2024, 4:52 a.m. UTC | #5
Hi Werner,

> -----Original Message-----
> From: Werner Sembach <wse@tuxedocomputers.com>
> Sent: Thursday, March 28, 2024 6:48 PM
> To: Marcel Holtmann <marcel@holtmann.org>; Luiz Augusto von Dentz
> <luiz.dentz@gmail.com>
> Cc: Christoffer Sandberg <cs@tuxedo.de>; Werner Sembach
> <wse@tuxedocomputers.com>; linux-bluetooth@vger.kernel.org; linux-
> kernel@vger.kernel.org
> Subject: [PATCH] Bluetooth: btintel: Add devices to
> HCI_QUIRK_BROKEN_LE_CODED
> 
> From: Christoffer Sandberg <cs@tuxedo.de>
> 
> For HW variants 0x17, 0x18 and 0x19 LE Coded PHY causes scan and
> connection issues when enabled. This patch disables it through the existing
> quirk.
> 
Do see this issue with latest firmware ?  Can you please share the firmware version you are using (share dmesg on system boot) ?

> Signed-off-by: Christoffer Sandberg <cs@tuxedo.de>
> Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
> Cc: <stable@vger.kernel.org>
> ---
>  drivers/bluetooth/btintel.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c index
> cdc5c08824a0a..6dbfb74d0adf9 100644
> --- a/drivers/bluetooth/btintel.c
> +++ b/drivers/bluetooth/btintel.c
> @@ -2881,6 +2881,8 @@ static int btintel_setup_combined(struct hci_dev
> *hdev)
>  	case 0x17:
>  	case 0x18:
>  	case 0x19:
> +		/* 0x17, 0x18 and 0x19 have issues when LE Coded PHY is
> enabled */
> +		set_bit(HCI_QUIRK_BROKEN_LE_CODED, &hdev->quirks);
>  	case 0x1b:
>  	case 0x1c:
>  		/* Display version information of TLV type */
> --
> 2.34.1
> 

Thanks,
Kiran
Christoffer Sandberg April 2, 2024, 9:17 a.m. UTC | #6
Dear Paul,

On 28.3.2024 14:23, Paul Menzel wrote:
> On what hardware with what clients do you experience this exactly?
> 

The wifi/bluetooth modules AX201, AX210 and AX211 (cases 0x18, 0x17 and 
0x19 respectively) used in various notebook devices started having 
issues as of the patch that enabled le coded phy in the driver. (We also 
use AX200, however without issue.)

Noted behaviour as of the issues: Device scan took longer and when it 
did find a device connection often failed or timed out.

I do not know if a special type of bluetooth client is affected. It was 
partially tested by looking at the difference in enumeration of the 
current mix of bluetooth clients in the area (where you could clearly 
see the difference at a glance) and with one specific device.  A 
bluetooth connected watercooling system (TUXEDO Aquaris or 
LCT21001/LCT22002) where a test case showed the mentioned issues.

Best regards,

Christoffer
Pauli Virtanen April 2, 2024, 5:16 p.m. UTC | #7
pe, 2024-03-29 kello 00:20 +0100, Werner Sembach kirjoitti:
> Hi Luiz,
> 
> Am 28.03.24 um 15:17 schrieb Luiz Augusto von Dentz:
> > Hi Werner,
> > 
> > On Thu, Mar 28, 2024 at 9:18 AM Werner Sembach <wse@tuxedocomputers.com> wrote:
> > > From: Christoffer Sandberg <cs@tuxedo.de>
> > > 
> > > For HW variants 0x17, 0x18 and 0x19 LE Coded PHY causes scan and
> > > connection issues when enabled. This patch disables it through
> > > the existing quirk.
> > > 
> > > Signed-off-by: Christoffer Sandberg <cs@tuxedo.de>
> > > Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
> > > Cc: <stable@vger.kernel.org>
> > > ---
> > >   drivers/bluetooth/btintel.c | 2 ++
> > >   1 file changed, 2 insertions(+)
> > > 
> > > diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
> > > index cdc5c08824a0a..6dbfb74d0adf9 100644
> > > --- a/drivers/bluetooth/btintel.c
> > > +++ b/drivers/bluetooth/btintel.c
> > > @@ -2881,6 +2881,8 @@ static int btintel_setup_combined(struct hci_dev *hdev)
> > >          case 0x17:
> > >          case 0x18:
> > >          case 0x19:
> > > +               /* 0x17, 0x18 and 0x19 have issues when LE Coded PHY is enabled */
> > > +               set_bit(HCI_QUIRK_BROKEN_LE_CODED, &hdev->quirks);
> > If it is just these 3 then we are missing a break here.
> 
> The cases are not added by the patch, the fallthrough was here before. This 
> patch just adds this quirk for these 3 cases on top to the other things done 
> below, aka the fallthrough is intentional.

See

https://docs.kernel.org/next/process/deprecated.html#implicit-switch-case-fall-through


> 
> Best regards,
> 
> Werner
> 
> > 
> > >          case 0x1b:
> > >          case 0x1c:
> > >                  /* Display version information of TLV type */
> > > --
> > > 2.34.1
> > > 
> >
Werner Sembach April 3, 2024, 5:32 p.m. UTC | #8
Am 02.04.24 um 19:16 schrieb Pauli Virtanen:
> pe, 2024-03-29 kello 00:20 +0100, Werner Sembach kirjoitti:
>> Hi Luiz,
>>
>> Am 28.03.24 um 15:17 schrieb Luiz Augusto von Dentz:
>>> Hi Werner,
>>>
>>> On Thu, Mar 28, 2024 at 9:18 AM Werner Sembach <wse@tuxedocomputers.com> wrote:
>>>> From: Christoffer Sandberg <cs@tuxedo.de>
>>>>
>>>> For HW variants 0x17, 0x18 and 0x19 LE Coded PHY causes scan and
>>>> connection issues when enabled. This patch disables it through
>>>> the existing quirk.
>>>>
>>>> Signed-off-by: Christoffer Sandberg <cs@tuxedo.de>
>>>> Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
>>>> Cc: <stable@vger.kernel.org>
>>>> ---
>>>>    drivers/bluetooth/btintel.c | 2 ++
>>>>    1 file changed, 2 insertions(+)
>>>>
>>>> diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
>>>> index cdc5c08824a0a..6dbfb74d0adf9 100644
>>>> --- a/drivers/bluetooth/btintel.c
>>>> +++ b/drivers/bluetooth/btintel.c
>>>> @@ -2881,6 +2881,8 @@ static int btintel_setup_combined(struct hci_dev *hdev)
>>>>           case 0x17:
>>>>           case 0x18:
>>>>           case 0x19:
>>>> +               /* 0x17, 0x18 and 0x19 have issues when LE Coded PHY is enabled */
>>>> +               set_bit(HCI_QUIRK_BROKEN_LE_CODED, &hdev->quirks);
>>> If it is just these 3 then we are missing a break here.
>> The cases are not added by the patch, the fallthrough was here before. This
>> patch just adds this quirk for these 3 cases on top to the other things done
>> below, aka the fallthrough is intentional.
> See
>
> https://docs.kernel.org/next/process/deprecated.html#implicit-switch-case-fall-through
Thanks for the link, will add the explicit fallthrough in a v2.
>
>
>> Best regards,
>>
>> Werner
>>
>>>>           case 0x1b:
>>>>           case 0x1c:
>>>>                   /* Display version information of TLV type */
>>>> --
>>>> 2.34.1
>>>>
diff mbox series

Patch

diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
index cdc5c08824a0a..6dbfb74d0adf9 100644
--- a/drivers/bluetooth/btintel.c
+++ b/drivers/bluetooth/btintel.c
@@ -2881,6 +2881,8 @@  static int btintel_setup_combined(struct hci_dev *hdev)
 	case 0x17:
 	case 0x18:
 	case 0x19:
+		/* 0x17, 0x18 and 0x19 have issues when LE Coded PHY is enabled */
+		set_bit(HCI_QUIRK_BROKEN_LE_CODED, &hdev->quirks);
 	case 0x1b:
 	case 0x1c:
 		/* Display version information of TLV type */