2021-12-21 03:36:32

by Kiran K

[permalink] [raw]
Subject: [PATCH v1] Bluetooth: btintel: Fix MSFT extension support for Intel controllers

From: Chethan T N <[email protected]>

For ThP2/JfP2/HrP2 and CcP2 Intel controllers, MSFT extension
opcode was not set in operational mode.

Signed-off-by: Chethan T N <[email protected]>
Signed-off-by: Kiran K <[email protected]>
---
drivers/bluetooth/btintel.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
index e1f96df847b8..0dd389746439 100644
--- a/drivers/bluetooth/btintel.c
+++ b/drivers/bluetooth/btintel.c
@@ -2549,10 +2549,6 @@ static int btintel_setup_combined(struct hci_dev *hdev)
if (INTEL_HW_VARIANT(ver_tlv.cnvi_bt) == 0x18)
set_bit(HCI_QUIRK_VALID_LE_STATES, &hdev->quirks);

- /* Setup MSFT Extension support */
- btintel_set_msft_opcode(hdev,
- INTEL_HW_VARIANT(ver_tlv.cnvi_bt));
-
err = btintel_bootloader_setup_tlv(hdev, &ver_tlv);
break;
default:
@@ -2560,6 +2556,8 @@ static int btintel_setup_combined(struct hci_dev *hdev)
INTEL_HW_VARIANT(ver_tlv.cnvi_bt));
return -EINVAL;
}
+ /* Setup MSFT Extension support */
+ btintel_set_msft_opcode(hdev, INTEL_HW_VARIANT(ver_tlv.cnvi_bt));

exit_error:
kfree_skb(skb);
--
2.17.1



2021-12-21 18:43:50

by An, Tedd

[permalink] [raw]
Subject: Re: [PATCH v1] Bluetooth: btintel: Fix MSFT extension support for Intel controllers

Hi Kiran,

On Tue, 2021-12-21 at 09:12 +0530, Kiran K wrote:
> From: Chethan T N <[email protected]>
>
> For ThP2/JfP2/HrP2 and CcP2 Intel controllers, MSFT extension
> opcode was not set in operational mode.
>
> Signed-off-by: Chethan T N <[email protected]>
> Signed-off-by: Kiran K <[email protected]>
> ---
>  drivers/bluetooth/btintel.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
> index e1f96df847b8..0dd389746439 100644
> --- a/drivers/bluetooth/btintel.c
> +++ b/drivers/bluetooth/btintel.c
> @@ -2549,10 +2549,6 @@ static int btintel_setup_combined(struct hci_dev *hdev)
>                 if (INTEL_HW_VARIANT(ver_tlv.cnvi_bt) == 0x18)
>                         set_bit(HCI_QUIRK_VALID_LE_STATES, &hdev->quirks);
>  
> -               /* Setup MSFT Extension support */
> -               btintel_set_msft_opcode(hdev,
> -                                       INTEL_HW_VARIANT(ver_tlv.cnvi_bt));
> -
>                 err = btintel_bootloader_setup_tlv(hdev, &ver_tlv);
>                 break;
>         default:
> @@ -2560,6 +2556,8 @@ static int btintel_setup_combined(struct hci_dev *hdev)
>                            INTEL_HW_VARIANT(ver_tlv.cnvi_bt));
>                 return -EINVAL;
>         }
> +       /* Setup MSFT Extension support */
> +       btintel_set_msft_opcode(hdev, INTEL_HW_VARIANT(ver_tlv.cnvi_bt));
>
It should be fixed in this patch. Please confirm.
https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git/commit/?id=a33d805b322583a3505e95f3e57eada81cac34bd

>  
>  exit_error:
>         kfree_skb(skb);

Regards,
Tedd

2021-12-21 18:56:56

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: Re: [PATCH v1] Bluetooth: btintel: Fix MSFT extension support for Intel controllers

Hi Kiran,

On Tue, Dec 21, 2021 at 1:49 AM Kiran K <[email protected]> wrote:
>
> From: Chethan T N <[email protected]>
>
> For ThP2/JfP2/HrP2 and CcP2 Intel controllers, MSFT extension
> opcode was not set in operational mode.

You should probably add a Fixes for the original patch that introduces
this problem.

> Signed-off-by: Chethan T N <[email protected]>
> Signed-off-by: Kiran K <[email protected]>
> ---
> drivers/bluetooth/btintel.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
> index e1f96df847b8..0dd389746439 100644
> --- a/drivers/bluetooth/btintel.c
> +++ b/drivers/bluetooth/btintel.c
> @@ -2549,10 +2549,6 @@ static int btintel_setup_combined(struct hci_dev *hdev)
> if (INTEL_HW_VARIANT(ver_tlv.cnvi_bt) == 0x18)
> set_bit(HCI_QUIRK_VALID_LE_STATES, &hdev->quirks);
>
> - /* Setup MSFT Extension support */
> - btintel_set_msft_opcode(hdev,
> - INTEL_HW_VARIANT(ver_tlv.cnvi_bt));
> -
> err = btintel_bootloader_setup_tlv(hdev, &ver_tlv);
> break;
> default:
> @@ -2560,6 +2556,8 @@ static int btintel_setup_combined(struct hci_dev *hdev)
> INTEL_HW_VARIANT(ver_tlv.cnvi_bt));
> return -EINVAL;
> }

Please add a comment stating why it is correct to do it here instead.

> + /* Setup MSFT Extension support */
> + btintel_set_msft_opcode(hdev, INTEL_HW_VARIANT(ver_tlv.cnvi_bt));
>
> exit_error:
> kfree_skb(skb);
> --
> 2.17.1
>


--
Luiz Augusto von Dentz

2022-01-03 07:23:53

by Kiran K

[permalink] [raw]
Subject: RE: [PATCH v1] Bluetooth: btintel: Fix MSFT extension support for Intel controllers

Hi Tedd,

> Subject: Re: [PATCH v1] Bluetooth: btintel: Fix MSFT extension support for
> Intel controllers
>
> Hi Kiran,
>
> On Tue, 2021-12-21 at 09:12 +0530, Kiran K wrote:
> > From: Chethan T N <[email protected]>
> >
> > For ThP2/JfP2/HrP2 and CcP2 Intel controllers, MSFT extension opcode
> > was not set in operational mode.
> >
> > Signed-off-by: Chethan T N <[email protected]>
> > Signed-off-by: Kiran K <[email protected]>
> > ---
> >  drivers/bluetooth/btintel.c | 6 ++----
> >  1 file changed, 2 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
> > index e1f96df847b8..0dd389746439 100644
> > --- a/drivers/bluetooth/btintel.c
> > +++ b/drivers/bluetooth/btintel.c
> > @@ -2549,10 +2549,6 @@ static int btintel_setup_combined(struct
> > hci_dev *hdev)
> >                 if (INTEL_HW_VARIANT(ver_tlv.cnvi_bt) == 0x18)
> >                         set_bit(HCI_QUIRK_VALID_LE_STATES,
> > &hdev->quirks);
> >
> > -               /* Setup MSFT Extension support */
> > -               btintel_set_msft_opcode(hdev,
> > -
> > INTEL_HW_VARIANT(ver_tlv.cnvi_bt));
> > -
> >                 err = btintel_bootloader_setup_tlv(hdev, &ver_tlv);
> >                 break;
> >         default:
> > @@ -2560,6 +2556,8 @@ static int btintel_setup_combined(struct hci_dev
> > *hdev)
> >                            INTEL_HW_VARIANT(ver_tlv.cnvi_bt));
> >                 return -EINVAL;
> >         }
> > +       /* Setup MSFT Extension support */
> > +       btintel_set_msft_opcode(hdev,
> > +INTEL_HW_VARIANT(ver_tlv.cnvi_bt));
> >
> It should be fixed in this patch. Please confirm.
> https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-
> next.git/commit/?id=a33d805b322583a3505e95f3e57eada81cac34bd

Yes. This patch also fixes the issue. Thanks.

Regards,
Kiran