diff mbox series

Bluetooth: btintel: Add devices to HCI_QUIRK_BROKEN_LE_CODED

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

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
Luiz Augusto von Dentz March 28, 2024, 2:17 p.m. UTC | #2
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 | #3
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
>>
>
Kiran K March 31, 2024, 4:52 a.m. UTC | #4
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 | #5
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 | #6
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 | #7
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 */