* [PATCH v1] Bluetooth: btintel: Check if controller is ISO capable on btintel_classify_pkt_type
@ 2025-07-09 19:13 Luiz Augusto von Dentz
2025-07-09 19:57 ` [v1] " bluez.test.bot
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Luiz Augusto von Dentz @ 2025-07-09 19:13 UTC (permalink / raw)
To: linux-bluetooth
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Due to what seem to be a bug with variant version returned by some
firmwares the code may set hdev->classify_pkt_type with
btintel_classify_pkt_type when in fact the controller doesn't even
support ISO channels feature but may use the handle range expected from
a controllers that does causing the packets to be reclassified as ISO
causing several bugs.
Link: https://bugzilla.kernel.org/show_bug.cgi?id=219553
Link: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2100565
Link: https://github.com/StarLabsLtd/firmware/issues/180
Fixes: f25b7fd36cc3 ("Bluetooth: Add vendor-specific packet classification for ISO data")
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
---
drivers/bluetooth/btintel.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
index 55cc1652bfe4..06575a0b9aee 100644
--- a/drivers/bluetooth/btintel.c
+++ b/drivers/bluetooth/btintel.c
@@ -2670,7 +2670,7 @@ static u8 btintel_classify_pkt_type(struct hci_dev *hdev, struct sk_buff *skb)
* Distinguish ISO data packets form ACL data packets
* based on their connection handle value range.
*/
- if (hci_skb_pkt_type(skb) == HCI_ACLDATA_PKT) {
+ if (iso_capable(hdev) && hci_skb_pkt_type(skb) == HCI_ACLDATA_PKT) {
__u16 handle = __le16_to_cpu(hci_acl_hdr(skb)->handle);
if (hci_handle(handle) >= BTINTEL_ISODATA_HANDLE_BASE)
--
2.50.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* RE: [v1] Bluetooth: btintel: Check if controller is ISO capable on btintel_classify_pkt_type
2025-07-09 19:13 [PATCH v1] Bluetooth: btintel: Check if controller is ISO capable on btintel_classify_pkt_type Luiz Augusto von Dentz
@ 2025-07-09 19:57 ` bluez.test.bot
2025-07-09 20:05 ` [PATCH v1] " Luiz Augusto von Dentz
2025-07-10 15:09 ` patchwork-bot+bluetooth
2 siblings, 0 replies; 8+ messages in thread
From: bluez.test.bot @ 2025-07-09 19:57 UTC (permalink / raw)
To: linux-bluetooth, luiz.dentz
[-- Attachment #1: Type: text/plain, Size: 2297 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=980685
---Test result---
Test Summary:
CheckPatch PENDING 0.47 seconds
GitLint PENDING 0.28 seconds
SubjectPrefix PASS 0.09 seconds
BuildKernel PASS 23.88 seconds
CheckAllWarning PASS 27.05 seconds
CheckSparse PASS 29.49 seconds
BuildKernel32 PASS 23.52 seconds
TestRunnerSetup PASS 463.59 seconds
TestRunner_l2cap-tester PASS 25.41 seconds
TestRunner_iso-tester PASS 36.03 seconds
TestRunner_bnep-tester PASS 5.96 seconds
TestRunner_mgmt-tester FAIL 133.27 seconds
TestRunner_rfcomm-tester PASS 11.23 seconds
TestRunner_sco-tester PASS 15.16 seconds
TestRunner_ioctl-tester PASS 10.14 seconds
TestRunner_mesh-tester FAIL 11.48 seconds
TestRunner_smp-tester PASS 8.96 seconds
TestRunner_userchan-tester PASS 6.30 seconds
IncrementalBuild PENDING 0.64 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: 490, Passed: 485 (99.0%), Failed: 1, Not Run: 4
Failed Test Cases
LL Privacy - Add Device 3 (AL is full) Failed 0.238 seconds
##############################
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.124 seconds
Mesh - Send cancel - 2 Timed out 1.999 seconds
##############################
Test: IncrementalBuild - PENDING
Desc: Incremental build with the patches in the series
Output:
---
Regards,
Linux Bluetooth
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1] Bluetooth: btintel: Check if controller is ISO capable on btintel_classify_pkt_type
2025-07-09 19:13 [PATCH v1] Bluetooth: btintel: Check if controller is ISO capable on btintel_classify_pkt_type Luiz Augusto von Dentz
2025-07-09 19:57 ` [v1] " bluez.test.bot
@ 2025-07-09 20:05 ` Luiz Augusto von Dentz
[not found] ` <CABtds-0U4mD9kr708UdB+SAHRvBAPYrEaOSCjKkqTDXjJpWOUw@mail.gmail.com>
2025-07-10 15:09 ` patchwork-bot+bluetooth
2 siblings, 1 reply; 8+ messages in thread
From: Luiz Augusto von Dentz @ 2025-07-09 20:05 UTC (permalink / raw)
To: linux-bluetooth, Sean Rhodes
Hi Sean,
On Wed, Jul 9, 2025 at 3:13 PM Luiz Augusto von Dentz
<luiz.dentz@gmail.com> wrote:
>
> From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
>
> Due to what seem to be a bug with variant version returned by some
> firmwares the code may set hdev->classify_pkt_type with
> btintel_classify_pkt_type when in fact the controller doesn't even
> support ISO channels feature but may use the handle range expected from
> a controllers that does causing the packets to be reclassified as ISO
> causing several bugs.
>
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=219553
> Link: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2100565
> Link: https://github.com/StarLabsLtd/firmware/issues/180
> Fixes: f25b7fd36cc3 ("Bluetooth: Add vendor-specific packet classification for ISO data")
> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> ---
> drivers/bluetooth/btintel.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
> index 55cc1652bfe4..06575a0b9aee 100644
> --- a/drivers/bluetooth/btintel.c
> +++ b/drivers/bluetooth/btintel.c
> @@ -2670,7 +2670,7 @@ static u8 btintel_classify_pkt_type(struct hci_dev *hdev, struct sk_buff *skb)
> * Distinguish ISO data packets form ACL data packets
> * based on their connection handle value range.
> */
> - if (hci_skb_pkt_type(skb) == HCI_ACLDATA_PKT) {
> + if (iso_capable(hdev) && hci_skb_pkt_type(skb) == HCI_ACLDATA_PKT) {
> __u16 handle = __le16_to_cpu(hci_acl_hdr(skb)->handle);
>
> if (hci_handle(handle) >= BTINTEL_ISODATA_HANDLE_BASE)
> --
> 2.50.0
Can you try with the changes above?
--
Luiz Augusto von Dentz
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1] Bluetooth: btintel: Check if controller is ISO capable on btintel_classify_pkt_type
[not found] ` <CABtds-0U4mD9kr708UdB+SAHRvBAPYrEaOSCjKkqTDXjJpWOUw@mail.gmail.com>
@ 2025-07-10 13:33 ` Luiz Augusto von Dentz
2025-07-10 14:23 ` Sean Rhodes
0 siblings, 1 reply; 8+ messages in thread
From: Luiz Augusto von Dentz @ 2025-07-10 13:33 UTC (permalink / raw)
To: Sean Rhodes; +Cc: linux-bluetooth
Hi Sean,
On Thu, Jul 10, 2025 at 9:18 AM Sean Rhodes <sean@starlabs.systems> wrote:
>
> Hi Luiz
>
> Yes, works perfectly with that patch.
>
> Thanks
>
> Sean
>
> On Wed, 9 Jul 2025 at 21:06, Luiz Augusto von Dentz <luiz.dentz@gmail.com> wrote:
>>
>> Hi Sean,
>>
>> On Wed, Jul 9, 2025 at 3:13 PM Luiz Augusto von Dentz
>> <luiz.dentz@gmail.com> wrote:
>> >
>> > From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
>> >
>> > Due to what seem to be a bug with variant version returned by some
>> > firmwares the code may set hdev->classify_pkt_type with
>> > btintel_classify_pkt_type when in fact the controller doesn't even
>> > support ISO channels feature but may use the handle range expected from
>> > a controllers that does causing the packets to be reclassified as ISO
>> > causing several bugs.
>> >
>> > Link: https://bugzilla.kernel.org/show_bug.cgi?id=219553
>> > Link: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2100565
>> > Link: https://github.com/StarLabsLtd/firmware/issues/180
>> > Fixes: f25b7fd36cc3 ("Bluetooth: Add vendor-specific packet classification for ISO data")
>> > Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
>> > ---
>> > drivers/bluetooth/btintel.c | 2 +-
>> > 1 file changed, 1 insertion(+), 1 deletion(-)
>> >
>> > diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
>> > index 55cc1652bfe4..06575a0b9aee 100644
>> > --- a/drivers/bluetooth/btintel.c
>> > +++ b/drivers/bluetooth/btintel.c
>> > @@ -2670,7 +2670,7 @@ static u8 btintel_classify_pkt_type(struct hci_dev *hdev, struct sk_buff *skb)
>> > * Distinguish ISO data packets form ACL data packets
>> > * based on their connection handle value range.
>> > */
>> > - if (hci_skb_pkt_type(skb) == HCI_ACLDATA_PKT) {
>> > + if (iso_capable(hdev) && hci_skb_pkt_type(skb) == HCI_ACLDATA_PKT) {
>> > __u16 handle = __le16_to_cpu(hci_acl_hdr(skb)->handle);
>> >
>> > if (hci_handle(handle) >= BTINTEL_ISODATA_HANDLE_BASE)
>> > --
>> > 2.50.0
>>
>> Can you try with the changes above?
>>
>> --
>> Luiz Augusto von Dentz
Please add Tested-by so we can move to get it merged, I do intend to
send a pull request later this week.
--
Luiz Augusto von Dentz
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1] Bluetooth: btintel: Check if controller is ISO capable on btintel_classify_pkt_type
2025-07-10 13:33 ` Luiz Augusto von Dentz
@ 2025-07-10 14:23 ` Sean Rhodes
2025-07-10 14:32 ` Luiz Augusto von Dentz
0 siblings, 1 reply; 8+ messages in thread
From: Sean Rhodes @ 2025-07-10 14:23 UTC (permalink / raw)
To: Luiz Augusto von Dentz; +Cc: linux-bluetooth
Like thus? Sorry, not too familiar with the email patches.
> From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
>
> Due to what seem to be a bug with variant version returned by some
> firmwares the code may set hdev->classify_pkt_type with
> btintel_classify_pkt_type when in fact the controller doesn't even
> support ISO channels feature but may use the handle range expected from
> a controllers that does causing the packets to be reclassified as ISO
> causing several bugs.
>
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=219553
> Link: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2100565
> Link: https://github.com/StarLabsLtd/firmware/issues/180
> Fixes: f25b7fd36cc3 ("Bluetooth: Add vendor-specific packet classification for ISO data")
> Tested-by: Sean McAllen <sean.mcallen@example.com>
> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> ---
> drivers/bluetooth/btintel.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
> index 55cc1652bfe4..06575a0b9aee 100644
> --- a/drivers/bluetooth/btintel.c
> +++ b/drivers/bluetooth/btintel.c
> @@ -2670,7 +2670,7 @@ static u8 btintel_classify_pkt_type(struct hci_dev *hdev, struct sk_buff *skb)
> * Distinguish ISO data packets form ACL data packets
> * based on their connection handle value range.
> */
> - if (hci_skb_pkt_type(skb) == HCI_ACLDATA_PKT) {
> + if (iso_capable(hdev) && hci_skb_pkt_type(skb) == HCI_ACLDATA_PKT) {
> __u16 handle = __le16_to_cpu(hci_acl_hdr(skb)->handle);
>
> if (hci_handle(handle) >= BTINTEL_ISODATA_HANDLE_BASE)
> --
> 2.50.0
On Thu, 10 Jul 2025 at 14:33, Luiz Augusto von Dentz
<luiz.dentz@gmail.com> wrote:
>
> Hi Sean,
>
> On Thu, Jul 10, 2025 at 9:18 AM Sean Rhodes <sean@starlabs.systems> wrote:
> >
> > Hi Luiz
> >
> > Yes, works perfectly with that patch.
> >
> > Thanks
> >
> > Sean
> >
> > On Wed, 9 Jul 2025 at 21:06, Luiz Augusto von Dentz <luiz.dentz@gmail.com> wrote:
> >>
> >> Hi Sean,
> >>
> >> On Wed, Jul 9, 2025 at 3:13 PM Luiz Augusto von Dentz
> >> <luiz.dentz@gmail.com> wrote:
> >> >
> >> > From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> >> >
> >> > Due to what seem to be a bug with variant version returned by some
> >> > firmwares the code may set hdev->classify_pkt_type with
> >> > btintel_classify_pkt_type when in fact the controller doesn't even
> >> > support ISO channels feature but may use the handle range expected from
> >> > a controllers that does causing the packets to be reclassified as ISO
> >> > causing several bugs.
> >> >
> >> > Link: https://bugzilla.kernel.org/show_bug.cgi?id=219553
> >> > Link: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2100565
> >> > Link: https://github.com/StarLabsLtd/firmware/issues/180
> >> > Fixes: f25b7fd36cc3 ("Bluetooth: Add vendor-specific packet classification for ISO data")
> >> > Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> >> > ---
> >> > drivers/bluetooth/btintel.c | 2 +-
> >> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >> >
> >> > diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
> >> > index 55cc1652bfe4..06575a0b9aee 100644
> >> > --- a/drivers/bluetooth/btintel.c
> >> > +++ b/drivers/bluetooth/btintel.c
> >> > @@ -2670,7 +2670,7 @@ static u8 btintel_classify_pkt_type(struct hci_dev *hdev, struct sk_buff *skb)
> >> > * Distinguish ISO data packets form ACL data packets
> >> > * based on their connection handle value range.
> >> > */
> >> > - if (hci_skb_pkt_type(skb) == HCI_ACLDATA_PKT) {
> >> > + if (iso_capable(hdev) && hci_skb_pkt_type(skb) == HCI_ACLDATA_PKT) {
> >> > __u16 handle = __le16_to_cpu(hci_acl_hdr(skb)->handle);
> >> >
> >> > if (hci_handle(handle) >= BTINTEL_ISODATA_HANDLE_BASE)
> >> > --
> >> > 2.50.0
> >>
> >> Can you try with the changes above?
> >>
> >> --
> >> Luiz Augusto von Dentz
>
> Please add Tested-by so we can move to get it merged, I do intend to
> send a pull request later this week.
>
> --
> Luiz Augusto von Dentz
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1] Bluetooth: btintel: Check if controller is ISO capable on btintel_classify_pkt_type
2025-07-10 14:23 ` Sean Rhodes
@ 2025-07-10 14:32 ` Luiz Augusto von Dentz
2025-07-10 14:33 ` Sean Rhodes
0 siblings, 1 reply; 8+ messages in thread
From: Luiz Augusto von Dentz @ 2025-07-10 14:32 UTC (permalink / raw)
To: Sean Rhodes; +Cc: linux-bluetooth
Hi Sean,
On Thu, Jul 10, 2025 at 10:23 AM Sean Rhodes <sean@starlabs.systems> wrote:
>
> Like thus? Sorry, not too familiar with the email patches.
Just do:
Tested-by: Sean Rhodes <sean@starlabs.systems>
> > From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> >
> > Due to what seem to be a bug with variant version returned by some
> > firmwares the code may set hdev->classify_pkt_type with
> > btintel_classify_pkt_type when in fact the controller doesn't even
> > support ISO channels feature but may use the handle range expected from
> > a controllers that does causing the packets to be reclassified as ISO
> > causing several bugs.
> >
> > Link: https://bugzilla.kernel.org/show_bug.cgi?id=219553
> > Link: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2100565
> > Link: https://github.com/StarLabsLtd/firmware/issues/180
> > Fixes: f25b7fd36cc3 ("Bluetooth: Add vendor-specific packet classification for ISO data")
> > Tested-by: Sean McAllen <sean.mcallen@example.com>
> > Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> > ---
> > drivers/bluetooth/btintel.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
> > index 55cc1652bfe4..06575a0b9aee 100644
> > --- a/drivers/bluetooth/btintel.c
> > +++ b/drivers/bluetooth/btintel.c
> > @@ -2670,7 +2670,7 @@ static u8 btintel_classify_pkt_type(struct hci_dev *hdev, struct sk_buff *skb)
> > * Distinguish ISO data packets form ACL data packets
> > * based on their connection handle value range.
> > */
> > - if (hci_skb_pkt_type(skb) == HCI_ACLDATA_PKT) {
> > + if (iso_capable(hdev) && hci_skb_pkt_type(skb) == HCI_ACLDATA_PKT) {
> > __u16 handle = __le16_to_cpu(hci_acl_hdr(skb)->handle);
> >
> > if (hci_handle(handle) >= BTINTEL_ISODATA_HANDLE_BASE)
> > --
> > 2.50.0
>
>
> On Thu, 10 Jul 2025 at 14:33, Luiz Augusto von Dentz
> <luiz.dentz@gmail.com> wrote:
> >
> > Hi Sean,
> >
> > On Thu, Jul 10, 2025 at 9:18 AM Sean Rhodes <sean@starlabs.systems> wrote:
> > >
> > > Hi Luiz
> > >
> > > Yes, works perfectly with that patch.
> > >
> > > Thanks
> > >
> > > Sean
> > >
> > > On Wed, 9 Jul 2025 at 21:06, Luiz Augusto von Dentz <luiz.dentz@gmail.com> wrote:
> > >>
> > >> Hi Sean,
> > >>
> > >> On Wed, Jul 9, 2025 at 3:13 PM Luiz Augusto von Dentz
> > >> <luiz.dentz@gmail.com> wrote:
> > >> >
> > >> > From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> > >> >
> > >> > Due to what seem to be a bug with variant version returned by some
> > >> > firmwares the code may set hdev->classify_pkt_type with
> > >> > btintel_classify_pkt_type when in fact the controller doesn't even
> > >> > support ISO channels feature but may use the handle range expected from
> > >> > a controllers that does causing the packets to be reclassified as ISO
> > >> > causing several bugs.
> > >> >
> > >> > Link: https://bugzilla.kernel.org/show_bug.cgi?id=219553
> > >> > Link: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2100565
> > >> > Link: https://github.com/StarLabsLtd/firmware/issues/180
> > >> > Fixes: f25b7fd36cc3 ("Bluetooth: Add vendor-specific packet classification for ISO data")
> > >> > Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> > >> > ---
> > >> > drivers/bluetooth/btintel.c | 2 +-
> > >> > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >> >
> > >> > diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
> > >> > index 55cc1652bfe4..06575a0b9aee 100644
> > >> > --- a/drivers/bluetooth/btintel.c
> > >> > +++ b/drivers/bluetooth/btintel.c
> > >> > @@ -2670,7 +2670,7 @@ static u8 btintel_classify_pkt_type(struct hci_dev *hdev, struct sk_buff *skb)
> > >> > * Distinguish ISO data packets form ACL data packets
> > >> > * based on their connection handle value range.
> > >> > */
> > >> > - if (hci_skb_pkt_type(skb) == HCI_ACLDATA_PKT) {
> > >> > + if (iso_capable(hdev) && hci_skb_pkt_type(skb) == HCI_ACLDATA_PKT) {
> > >> > __u16 handle = __le16_to_cpu(hci_acl_hdr(skb)->handle);
> > >> >
> > >> > if (hci_handle(handle) >= BTINTEL_ISODATA_HANDLE_BASE)
> > >> > --
> > >> > 2.50.0
> > >>
> > >> Can you try with the changes above?
> > >>
> > >> --
> > >> Luiz Augusto von Dentz
> >
> > Please add Tested-by so we can move to get it merged, I do intend to
> > send a pull request later this week.
> >
> > --
> > Luiz Augusto von Dentz
--
Luiz Augusto von Dentz
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1] Bluetooth: btintel: Check if controller is ISO capable on btintel_classify_pkt_type
2025-07-10 14:32 ` Luiz Augusto von Dentz
@ 2025-07-10 14:33 ` Sean Rhodes
0 siblings, 0 replies; 8+ messages in thread
From: Sean Rhodes @ 2025-07-10 14:33 UTC (permalink / raw)
To: Luiz Augusto von Dentz; +Cc: linux-bluetooth
Tested-by: Sean Rhodes <sean@starlabs.systems>
On Thu, 10 Jul 2025 at 15:32, Luiz Augusto von Dentz
<luiz.dentz@gmail.com> wrote:
>
> Hi Sean,
>
> On Thu, Jul 10, 2025 at 10:23 AM Sean Rhodes <sean@starlabs.systems> wrote:
> >
> > Like thus? Sorry, not too familiar with the email patches.
>
> Just do:
>
> Tested-by: Sean Rhodes <sean@starlabs.systems>
>
> > > From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> > >
> > > Due to what seem to be a bug with variant version returned by some
> > > firmwares the code may set hdev->classify_pkt_type with
> > > btintel_classify_pkt_type when in fact the controller doesn't even
> > > support ISO channels feature but may use the handle range expected from
> > > a controllers that does causing the packets to be reclassified as ISO
> > > causing several bugs.
> > >
> > > Link: https://bugzilla.kernel.org/show_bug.cgi?id=219553
> > > Link: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2100565
> > > Link: https://github.com/StarLabsLtd/firmware/issues/180
> > > Fixes: f25b7fd36cc3 ("Bluetooth: Add vendor-specific packet classification for ISO data")
> > > Tested-by: Sean McAllen <sean.mcallen@example.com>
> > > Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> > > ---
> > > drivers/bluetooth/btintel.c | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
> > > index 55cc1652bfe4..06575a0b9aee 100644
> > > --- a/drivers/bluetooth/btintel.c
> > > +++ b/drivers/bluetooth/btintel.c
> > > @@ -2670,7 +2670,7 @@ static u8 btintel_classify_pkt_type(struct hci_dev *hdev, struct sk_buff *skb)
> > > * Distinguish ISO data packets form ACL data packets
> > > * based on their connection handle value range.
> > > */
> > > - if (hci_skb_pkt_type(skb) == HCI_ACLDATA_PKT) {
> > > + if (iso_capable(hdev) && hci_skb_pkt_type(skb) == HCI_ACLDATA_PKT) {
> > > __u16 handle = __le16_to_cpu(hci_acl_hdr(skb)->handle);
> > >
> > > if (hci_handle(handle) >= BTINTEL_ISODATA_HANDLE_BASE)
> > > --
> > > 2.50.0
> >
> >
> > On Thu, 10 Jul 2025 at 14:33, Luiz Augusto von Dentz
> > <luiz.dentz@gmail.com> wrote:
> > >
> > > Hi Sean,
> > >
> > > On Thu, Jul 10, 2025 at 9:18 AM Sean Rhodes <sean@starlabs.systems> wrote:
> > > >
> > > > Hi Luiz
> > > >
> > > > Yes, works perfectly with that patch.
> > > >
> > > > Thanks
> > > >
> > > > Sean
> > > >
> > > > On Wed, 9 Jul 2025 at 21:06, Luiz Augusto von Dentz <luiz.dentz@gmail.com> wrote:
> > > >>
> > > >> Hi Sean,
> > > >>
> > > >> On Wed, Jul 9, 2025 at 3:13 PM Luiz Augusto von Dentz
> > > >> <luiz.dentz@gmail.com> wrote:
> > > >> >
> > > >> > From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> > > >> >
> > > >> > Due to what seem to be a bug with variant version returned by some
> > > >> > firmwares the code may set hdev->classify_pkt_type with
> > > >> > btintel_classify_pkt_type when in fact the controller doesn't even
> > > >> > support ISO channels feature but may use the handle range expected from
> > > >> > a controllers that does causing the packets to be reclassified as ISO
> > > >> > causing several bugs.
> > > >> >
> > > >> > Link: https://bugzilla.kernel.org/show_bug.cgi?id=219553
> > > >> > Link: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2100565
> > > >> > Link: https://github.com/StarLabsLtd/firmware/issues/180
> > > >> > Fixes: f25b7fd36cc3 ("Bluetooth: Add vendor-specific packet classification for ISO data")
> > > >> > Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> > > >> > ---
> > > >> > drivers/bluetooth/btintel.c | 2 +-
> > > >> > 1 file changed, 1 insertion(+), 1 deletion(-)
> > > >> >
> > > >> > diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c
> > > >> > index 55cc1652bfe4..06575a0b9aee 100644
> > > >> > --- a/drivers/bluetooth/btintel.c
> > > >> > +++ b/drivers/bluetooth/btintel.c
> > > >> > @@ -2670,7 +2670,7 @@ static u8 btintel_classify_pkt_type(struct hci_dev *hdev, struct sk_buff *skb)
> > > >> > * Distinguish ISO data packets form ACL data packets
> > > >> > * based on their connection handle value range.
> > > >> > */
> > > >> > - if (hci_skb_pkt_type(skb) == HCI_ACLDATA_PKT) {
> > > >> > + if (iso_capable(hdev) && hci_skb_pkt_type(skb) == HCI_ACLDATA_PKT) {
> > > >> > __u16 handle = __le16_to_cpu(hci_acl_hdr(skb)->handle);
> > > >> >
> > > >> > if (hci_handle(handle) >= BTINTEL_ISODATA_HANDLE_BASE)
> > > >> > --
> > > >> > 2.50.0
> > > >>
> > > >> Can you try with the changes above?
> > > >>
> > > >> --
> > > >> Luiz Augusto von Dentz
> > >
> > > Please add Tested-by so we can move to get it merged, I do intend to
> > > send a pull request later this week.
> > >
> > > --
> > > Luiz Augusto von Dentz
>
>
>
> --
> Luiz Augusto von Dentz
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1] Bluetooth: btintel: Check if controller is ISO capable on btintel_classify_pkt_type
2025-07-09 19:13 [PATCH v1] Bluetooth: btintel: Check if controller is ISO capable on btintel_classify_pkt_type Luiz Augusto von Dentz
2025-07-09 19:57 ` [v1] " bluez.test.bot
2025-07-09 20:05 ` [PATCH v1] " Luiz Augusto von Dentz
@ 2025-07-10 15:09 ` patchwork-bot+bluetooth
2 siblings, 0 replies; 8+ messages in thread
From: patchwork-bot+bluetooth @ 2025-07-10 15:09 UTC (permalink / raw)
To: Luiz Augusto von Dentz; +Cc: linux-bluetooth
Hello:
This patch was applied to bluetooth/bluetooth-next.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>:
On Wed, 9 Jul 2025 15:13:33 -0400 you wrote:
> From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
>
> Due to what seem to be a bug with variant version returned by some
> firmwares the code may set hdev->classify_pkt_type with
> btintel_classify_pkt_type when in fact the controller doesn't even
> support ISO channels feature but may use the handle range expected from
> a controllers that does causing the packets to be reclassified as ISO
> causing several bugs.
>
> [...]
Here is the summary with links:
- [v1] Bluetooth: btintel: Check if controller is ISO capable on btintel_classify_pkt_type
https://git.kernel.org/bluetooth/bluetooth-next/c/1eea42b9d33f
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2025-07-10 15:09 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-09 19:13 [PATCH v1] Bluetooth: btintel: Check if controller is ISO capable on btintel_classify_pkt_type Luiz Augusto von Dentz
2025-07-09 19:57 ` [v1] " bluez.test.bot
2025-07-09 20:05 ` [PATCH v1] " Luiz Augusto von Dentz
[not found] ` <CABtds-0U4mD9kr708UdB+SAHRvBAPYrEaOSCjKkqTDXjJpWOUw@mail.gmail.com>
2025-07-10 13:33 ` Luiz Augusto von Dentz
2025-07-10 14:23 ` Sean Rhodes
2025-07-10 14:32 ` Luiz Augusto von Dentz
2025-07-10 14:33 ` Sean Rhodes
2025-07-10 15:09 ` patchwork-bot+bluetooth
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox