linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1] fixup! Bluetooth: hci_sync: Add LE Channel Sounding HCI Command/event structures
@ 2025-12-19 16:28 Luiz Augusto von Dentz
  2025-12-19 16:30 ` Luiz Augusto von Dentz
  2025-12-19 17:11 ` [v1] " bluez.test.bot
  0 siblings, 2 replies; 5+ messages in thread
From: Luiz Augusto von Dentz @ 2025-12-19 16:28 UTC (permalink / raw)
  To: linux-bluetooth

From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>

---
 net/bluetooth/hci_sync.c | 38 +++++++++++++++++++++++++++-----------
 1 file changed, 27 insertions(+), 11 deletions(-)

diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c
index 5de98be752bc..ab0b68faa61c 100644
--- a/net/bluetooth/hci_sync.c
+++ b/net/bluetooth/hci_sync.c
@@ -4570,27 +4570,43 @@ static int hci_set_le_support_sync(struct hci_dev *hdev)
 }
 
 /* LE Set Host Feature */
-static int hci_le_set_host_feature_sync(struct hci_dev *hdev)
+static int hci_le_set_host_feature_sync(struct hci_dev *hdev, u8 bit, u8 value)
 {
 	struct hci_cp_le_set_host_feature cp;
 
-	if (!iso_capable(hdev))
-		return 0;
-
 	memset(&cp, 0, sizeof(cp));
 
 	/* Connected Isochronous Channels (Host Support) */
-	cp.bit_number = 32;
-	cp.bit_value = iso_enabled(hdev) ? 0x01 : 0x00;
-
-	/* Channel Sounding (Host Support) */
-	cp.bit_number = 47;
-	cp.bit_value = le_cs_capable(hdev) ? 0x01 : 0x00;
+	cp.bit_number = bit;
+	cp.bit_value = value;
 
 	return __hci_cmd_sync_status(hdev, HCI_OP_LE_SET_HOST_FEATURE,
 				     sizeof(cp), &cp, HCI_CMD_TIMEOUT);
 }
 
+/* Set Host Features, each feature needs to be sent separately since
+ * HCI_OP_LE_SET_HOST_FEATURE doesn't support setting all of them at once.
+ */
+static int hci_le_set_host_features_sync(struct hci_dev *hdev)
+{
+	int err;
+
+	if (iso_capable(hdev)) {
+		/* Connected Isochronous Channels (Host Support) */
+		err = hci_le_set_host_feature_sync(hdev, 32,
+						   (iso_enabled(hdev) ? 0x01 :
+						    0x00));
+		if (err)
+			return err;
+	}
+
+	if (le_cs_capable(hdev))
+		/* Channel Sounding (Host Support) */
+		err = hci_le_set_host_feature_sync(hdev, 47, 0x01);
+
+	return err;
+}
+
 /* LE Controller init stage 3 command sequence */
 static const struct hci_init_stage le_init3[] = {
 	/* HCI_OP_LE_SET_EVENT_MASK */
@@ -4618,7 +4634,7 @@ static const struct hci_init_stage le_init3[] = {
 	/* HCI_OP_WRITE_LE_HOST_SUPPORTED */
 	HCI_INIT(hci_set_le_support_sync),
 	/* HCI_OP_LE_SET_HOST_FEATURE */
-	HCI_INIT(hci_le_set_host_feature_sync),
+	HCI_INIT(hci_le_set_host_features_sync),
 	{}
 };
 
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v1] fixup! Bluetooth: hci_sync: Add LE Channel Sounding HCI Command/event structures
  2025-12-19 16:28 [PATCH v1] fixup! Bluetooth: hci_sync: Add LE Channel Sounding HCI Command/event structures Luiz Augusto von Dentz
@ 2025-12-19 16:30 ` Luiz Augusto von Dentz
  2025-12-22 14:53   ` Luiz Augusto von Dentz
  2025-12-19 17:11 ` [v1] " bluez.test.bot
  1 sibling, 1 reply; 5+ messages in thread
From: Luiz Augusto von Dentz @ 2025-12-19 16:30 UTC (permalink / raw)
  To: linux-bluetooth, Naga Bhavani Akella

Hi Naga,

On Fri, Dec 19, 2025 at 11:28 AM Luiz Augusto von Dentz
<luiz.dentz@gmail.com> wrote:
>
> From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
>
> ---
>  net/bluetooth/hci_sync.c | 38 +++++++++++++++++++++++++++-----------
>  1 file changed, 27 insertions(+), 11 deletions(-)
>
> diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c
> index 5de98be752bc..ab0b68faa61c 100644
> --- a/net/bluetooth/hci_sync.c
> +++ b/net/bluetooth/hci_sync.c
> @@ -4570,27 +4570,43 @@ static int hci_set_le_support_sync(struct hci_dev *hdev)
>  }
>
>  /* LE Set Host Feature */
> -static int hci_le_set_host_feature_sync(struct hci_dev *hdev)
> +static int hci_le_set_host_feature_sync(struct hci_dev *hdev, u8 bit, u8 value)
>  {
>         struct hci_cp_le_set_host_feature cp;
>
> -       if (!iso_capable(hdev))
> -               return 0;
> -
>         memset(&cp, 0, sizeof(cp));
>
>         /* Connected Isochronous Channels (Host Support) */
> -       cp.bit_number = 32;
> -       cp.bit_value = iso_enabled(hdev) ? 0x01 : 0x00;
> -
> -       /* Channel Sounding (Host Support) */
> -       cp.bit_number = 47;
> -       cp.bit_value = le_cs_capable(hdev) ? 0x01 : 0x00;
> +       cp.bit_number = bit;
> +       cp.bit_value = value;
>
>         return __hci_cmd_sync_status(hdev, HCI_OP_LE_SET_HOST_FEATURE,
>                                      sizeof(cp), &cp, HCI_CMD_TIMEOUT);
>  }
>
> +/* Set Host Features, each feature needs to be sent separately since
> + * HCI_OP_LE_SET_HOST_FEATURE doesn't support setting all of them at once.
> + */
> +static int hci_le_set_host_features_sync(struct hci_dev *hdev)
> +{
> +       int err;
> +
> +       if (iso_capable(hdev)) {
> +               /* Connected Isochronous Channels (Host Support) */
> +               err = hci_le_set_host_feature_sync(hdev, 32,
> +                                                  (iso_enabled(hdev) ? 0x01 :
> +                                                   0x00));
> +               if (err)
> +                       return err;
> +       }
> +
> +       if (le_cs_capable(hdev))
> +               /* Channel Sounding (Host Support) */
> +               err = hci_le_set_host_feature_sync(hdev, 47, 0x01);
> +
> +       return err;
> +}
> +
>  /* LE Controller init stage 3 command sequence */
>  static const struct hci_init_stage le_init3[] = {
>         /* HCI_OP_LE_SET_EVENT_MASK */
> @@ -4618,7 +4634,7 @@ static const struct hci_init_stage le_init3[] = {
>         /* HCI_OP_WRITE_LE_HOST_SUPPORTED */
>         HCI_INIT(hci_set_le_support_sync),
>         /* HCI_OP_LE_SET_HOST_FEATURE */
> -       HCI_INIT(hci_le_set_host_feature_sync),
> +       HCI_INIT(hci_le_set_host_features_sync),

Let me know if you have any comments regarding this change, I'm
planning to amend the original change since it hasn't been pushed to
next-next yet, this has been found by:

https://netdev-ai.bots.linux.dev/ai-review.html?id=999e331e-1161-4eec-ad26-fafc3fea6cfd

>         {}
>  };
>
> --
> 2.52.0
>


-- 
Luiz Augusto von Dentz

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [v1] fixup! Bluetooth: hci_sync: Add LE Channel Sounding HCI Command/event structures
  2025-12-19 16:28 [PATCH v1] fixup! Bluetooth: hci_sync: Add LE Channel Sounding HCI Command/event structures Luiz Augusto von Dentz
  2025-12-19 16:30 ` Luiz Augusto von Dentz
@ 2025-12-19 17:11 ` bluez.test.bot
  1 sibling, 0 replies; 5+ messages in thread
From: bluez.test.bot @ 2025-12-19 17:11 UTC (permalink / raw)
  To: linux-bluetooth, luiz.dentz

[-- Attachment #1: Type: text/plain, Size: 2593 bytes --]

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=1035126

---Test result---

Test Summary:
CheckPatch                    PENDING   0.56 seconds
GitLint                       PENDING   0.33 seconds
SubjectPrefix                 PASS      0.06 seconds
BuildKernel                   PASS      25.38 seconds
CheckAllWarning               PASS      28.06 seconds
CheckSparse                   PASS      31.86 seconds
BuildKernel32                 PASS      25.04 seconds
TestRunnerSetup               PASS      555.28 seconds
TestRunner_l2cap-tester       PASS      28.19 seconds
TestRunner_iso-tester         PASS      73.38 seconds
TestRunner_bnep-tester        PASS      6.35 seconds
TestRunner_mgmt-tester        FAIL      116.62 seconds
TestRunner_rfcomm-tester      PASS      9.54 seconds
TestRunner_sco-tester         FAIL      14.83 seconds
TestRunner_ioctl-tester       PASS      10.42 seconds
TestRunner_mesh-tester        FAIL      12.68 seconds
TestRunner_smp-tester         PASS      8.77 seconds
TestRunner_userchan-tester    PASS      6.79 seconds
IncrementalBuild              PENDING   0.92 seconds

Details
##############################
Test: CheckPatch - PENDING
Desc: Run checkpatch.pl script
Output:

##############################
Test: GitLint - PENDING
Desc: Run gitlint
Output:

##############################
Test: TestRunner_mgmt-tester - FAIL
Desc: Run mgmt-tester with test-runner
Output:
Total: 494, Passed: 489 (99.0%), Failed: 1, Not Run: 4

Failed Test Cases
Read Exp Feature - Success                           Failed       0.105 seconds
##############################
Test: TestRunner_sco-tester - FAIL
Desc: Run sco-tester with test-runner
Output:
WARNING: possible circular locking dependency detected
BUG: sleeping function called from invalid context at net/core/sock.c:3782
Total: 30, Passed: 30 (100.0%), Failed: 0, Not Run: 0
##############################
Test: TestRunner_mesh-tester - FAIL
Desc: Run mesh-tester with test-runner
Output:
Total: 10, Passed: 8 (80.0%), Failed: 2, Not Run: 0

Failed Test Cases
Mesh - Send cancel - 1                               Timed out    2.764 seconds
Mesh - Send cancel - 2                               Timed out    1.998 seconds
##############################
Test: IncrementalBuild - PENDING
Desc: Incremental build with the patches in the series
Output:



---
Regards,
Linux Bluetooth


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v1] fixup! Bluetooth: hci_sync: Add LE Channel Sounding HCI Command/event structures
  2025-12-19 16:30 ` Luiz Augusto von Dentz
@ 2025-12-22 14:53   ` Luiz Augusto von Dentz
  2025-12-22 19:27     ` Naga Bhavani Akella
  0 siblings, 1 reply; 5+ messages in thread
From: Luiz Augusto von Dentz @ 2025-12-22 14:53 UTC (permalink / raw)
  To: linux-bluetooth, Naga Bhavani Akella

Hi Naga,

On Fri, Dec 19, 2025 at 11:30 AM Luiz Augusto von Dentz
<luiz.dentz@gmail.com> wrote:
>
> Hi Naga,
>
> On Fri, Dec 19, 2025 at 11:28 AM Luiz Augusto von Dentz
> <luiz.dentz@gmail.com> wrote:
> >
> > From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> >
> > ---
> >  net/bluetooth/hci_sync.c | 38 +++++++++++++++++++++++++++-----------
> >  1 file changed, 27 insertions(+), 11 deletions(-)
> >
> > diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c
> > index 5de98be752bc..ab0b68faa61c 100644
> > --- a/net/bluetooth/hci_sync.c
> > +++ b/net/bluetooth/hci_sync.c
> > @@ -4570,27 +4570,43 @@ static int hci_set_le_support_sync(struct hci_dev *hdev)
> >  }
> >
> >  /* LE Set Host Feature */
> > -static int hci_le_set_host_feature_sync(struct hci_dev *hdev)
> > +static int hci_le_set_host_feature_sync(struct hci_dev *hdev, u8 bit, u8 value)
> >  {
> >         struct hci_cp_le_set_host_feature cp;
> >
> > -       if (!iso_capable(hdev))
> > -               return 0;
> > -
> >         memset(&cp, 0, sizeof(cp));
> >
> >         /* Connected Isochronous Channels (Host Support) */
> > -       cp.bit_number = 32;
> > -       cp.bit_value = iso_enabled(hdev) ? 0x01 : 0x00;
> > -
> > -       /* Channel Sounding (Host Support) */
> > -       cp.bit_number = 47;
> > -       cp.bit_value = le_cs_capable(hdev) ? 0x01 : 0x00;
> > +       cp.bit_number = bit;
> > +       cp.bit_value = value;
> >
> >         return __hci_cmd_sync_status(hdev, HCI_OP_LE_SET_HOST_FEATURE,
> >                                      sizeof(cp), &cp, HCI_CMD_TIMEOUT);
> >  }
> >
> > +/* Set Host Features, each feature needs to be sent separately since
> > + * HCI_OP_LE_SET_HOST_FEATURE doesn't support setting all of them at once.
> > + */
> > +static int hci_le_set_host_features_sync(struct hci_dev *hdev)
> > +{
> > +       int err;
> > +
> > +       if (iso_capable(hdev)) {
> > +               /* Connected Isochronous Channels (Host Support) */
> > +               err = hci_le_set_host_feature_sync(hdev, 32,
> > +                                                  (iso_enabled(hdev) ? 0x01 :
> > +                                                   0x00));
> > +               if (err)
> > +                       return err;
> > +       }
> > +
> > +       if (le_cs_capable(hdev))
> > +               /* Channel Sounding (Host Support) */
> > +               err = hci_le_set_host_feature_sync(hdev, 47, 0x01);
> > +
> > +       return err;
> > +}
> > +
> >  /* LE Controller init stage 3 command sequence */
> >  static const struct hci_init_stage le_init3[] = {
> >         /* HCI_OP_LE_SET_EVENT_MASK */
> > @@ -4618,7 +4634,7 @@ static const struct hci_init_stage le_init3[] = {
> >         /* HCI_OP_WRITE_LE_HOST_SUPPORTED */
> >         HCI_INIT(hci_set_le_support_sync),
> >         /* HCI_OP_LE_SET_HOST_FEATURE */
> > -       HCI_INIT(hci_le_set_host_feature_sync),
> > +       HCI_INIT(hci_le_set_host_features_sync),
>
> Let me know if you have any comments regarding this change, I'm
> planning to amend the original change since it hasn't been pushed to
> next-next yet, this has been found by:
>
> https://netdev-ai.bots.linux.dev/ai-review.html?id=999e331e-1161-4eec-ad26-fafc3fea6cfd

Any feedback?

>
> >         {}
> >  };
> >
> > --
> > 2.52.0
> >
>
>
> --
> Luiz Augusto von Dentz



-- 
Luiz Augusto von Dentz

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v1] fixup! Bluetooth: hci_sync: Add LE Channel Sounding HCI Command/event structures
  2025-12-22 14:53   ` Luiz Augusto von Dentz
@ 2025-12-22 19:27     ` Naga Bhavani Akella
  0 siblings, 0 replies; 5+ messages in thread
From: Naga Bhavani Akella @ 2025-12-22 19:27 UTC (permalink / raw)
  To: Luiz Augusto von Dentz, linux-bluetooth

Hi Luiz,

The patch looks good, we have checked internally on the setup as well.

Thanks and Regards,
Bhavani

On 12/22/2025 8:23 PM, Luiz Augusto von Dentz wrote:
> Hi Naga,
> 
> On Fri, Dec 19, 2025 at 11:30 AM Luiz Augusto von Dentz
> <luiz.dentz@gmail.com> wrote:
>>
>> Hi Naga,
>>
>> On Fri, Dec 19, 2025 at 11:28 AM Luiz Augusto von Dentz
>> <luiz.dentz@gmail.com> wrote:
>>>
>>> From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
>>>
>>> ---
>>>  net/bluetooth/hci_sync.c | 38 +++++++++++++++++++++++++++-----------
>>>  1 file changed, 27 insertions(+), 11 deletions(-)
>>>
>>> diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c
>>> index 5de98be752bc..ab0b68faa61c 100644
>>> --- a/net/bluetooth/hci_sync.c
>>> +++ b/net/bluetooth/hci_sync.c
>>> @@ -4570,27 +4570,43 @@ static int hci_set_le_support_sync(struct hci_dev *hdev)
>>>  }
>>>
>>>  /* LE Set Host Feature */
>>> -static int hci_le_set_host_feature_sync(struct hci_dev *hdev)
>>> +static int hci_le_set_host_feature_sync(struct hci_dev *hdev, u8 bit, u8 value)
>>>  {
>>>         struct hci_cp_le_set_host_feature cp;
>>>
>>> -       if (!iso_capable(hdev))
>>> -               return 0;
>>> -
>>>         memset(&cp, 0, sizeof(cp));
>>>
>>>         /* Connected Isochronous Channels (Host Support) */
>>> -       cp.bit_number = 32;
>>> -       cp.bit_value = iso_enabled(hdev) ? 0x01 : 0x00;
>>> -
>>> -       /* Channel Sounding (Host Support) */
>>> -       cp.bit_number = 47;
>>> -       cp.bit_value = le_cs_capable(hdev) ? 0x01 : 0x00;
>>> +       cp.bit_number = bit;
>>> +       cp.bit_value = value;
>>>
>>>         return __hci_cmd_sync_status(hdev, HCI_OP_LE_SET_HOST_FEATURE,
>>>                                      sizeof(cp), &cp, HCI_CMD_TIMEOUT);
>>>  }
>>>
>>> +/* Set Host Features, each feature needs to be sent separately since
>>> + * HCI_OP_LE_SET_HOST_FEATURE doesn't support setting all of them at once.
>>> + */
>>> +static int hci_le_set_host_features_sync(struct hci_dev *hdev)
>>> +{
>>> +       int err;
>>> +
>>> +       if (iso_capable(hdev)) {
>>> +               /* Connected Isochronous Channels (Host Support) */
>>> +               err = hci_le_set_host_feature_sync(hdev, 32,
>>> +                                                  (iso_enabled(hdev) ? 0x01 :
>>> +                                                   0x00));
>>> +               if (err)
>>> +                       return err;
>>> +       }
>>> +
>>> +       if (le_cs_capable(hdev))
>>> +               /* Channel Sounding (Host Support) */
>>> +               err = hci_le_set_host_feature_sync(hdev, 47, 0x01);
>>> +
>>> +       return err;
>>> +}
>>> +
>>>  /* LE Controller init stage 3 command sequence */
>>>  static const struct hci_init_stage le_init3[] = {
>>>         /* HCI_OP_LE_SET_EVENT_MASK */
>>> @@ -4618,7 +4634,7 @@ static const struct hci_init_stage le_init3[] = {
>>>         /* HCI_OP_WRITE_LE_HOST_SUPPORTED */
>>>         HCI_INIT(hci_set_le_support_sync),
>>>         /* HCI_OP_LE_SET_HOST_FEATURE */
>>> -       HCI_INIT(hci_le_set_host_feature_sync),
>>> +       HCI_INIT(hci_le_set_host_features_sync),
>>
>> Let me know if you have any comments regarding this change, I'm
>> planning to amend the original change since it hasn't been pushed to
>> next-next yet, this has been found by:
>>
>> https://netdev-ai.bots.linux.dev/ai-review.html?id=999e331e-1161-4eec-ad26-fafc3fea6cfd
> 
> Any feedback?
> 
>>
>>>         {}
>>>  };
>>>
>>> --
>>> 2.52.0
>>>
>>
>>
>> --
>> Luiz Augusto von Dentz
> 
> 
> 


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-12-22 19:28 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-19 16:28 [PATCH v1] fixup! Bluetooth: hci_sync: Add LE Channel Sounding HCI Command/event structures Luiz Augusto von Dentz
2025-12-19 16:30 ` Luiz Augusto von Dentz
2025-12-22 14:53   ` Luiz Augusto von Dentz
2025-12-22 19:27     ` Naga Bhavani Akella
2025-12-19 17:11 ` [v1] " bluez.test.bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).