* [PATCH] Bluetooth: fix socket matching ambiguity between BIS and CIS
@ 2025-05-07 7:30 Yang Li via B4 Relay
2025-05-07 7:46 ` Paul Menzel
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Yang Li via B4 Relay @ 2025-05-07 7:30 UTC (permalink / raw)
To: Marcel Holtmann, Johan Hedberg, Luiz Augusto von Dentz
Cc: linux-bluetooth, linux-kernel, Yang Li
From: Yang Li <yang.li@amlogic.com>
The iso_get_sock function adds dst address matching to
distinguish BIS and CIS sockets.
Link: https://github.com/bluez/bluez/issues/1224
Signed-off-by: Yang Li <yang.li@amlogic.com>
---
net/bluetooth/hci_event.c | 35 ++++++++++++++++++++---------------
net/bluetooth/iso.c | 12 +++++++++---
2 files changed, 29 insertions(+), 18 deletions(-)
diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
index 66052d6aaa1d..c1f32e98ef8a 100644
--- a/net/bluetooth/hci_event.c
+++ b/net/bluetooth/hci_event.c
@@ -6413,6 +6413,8 @@ static void hci_le_pa_sync_estabilished_evt(struct hci_dev *hdev, void *data,
conn->sync_handle = le16_to_cpu(ev->handle);
conn->sid = HCI_SID_INVALID;
+ conn->dst = ev->bdaddr;
+ conn->dst_type = ev->bdaddr_type;
mask |= hci_proto_connect_ind(hdev, &ev->bdaddr, BIS_LINK,
&flags);
@@ -6425,7 +6427,8 @@ static void hci_le_pa_sync_estabilished_evt(struct hci_dev *hdev, void *data,
goto unlock;
/* Add connection to indicate PA sync event */
- pa_sync = hci_conn_add_unset(hdev, BIS_LINK, BDADDR_ANY,
+
+ pa_sync = hci_conn_add_unset(hdev, BIS_LINK, &ev->bdaddr,
HCI_ROLE_SLAVE);
if (IS_ERR(pa_sync))
@@ -6456,13 +6459,6 @@ static void hci_le_per_adv_report_evt(struct hci_dev *hdev, void *data,
hci_dev_lock(hdev);
- mask |= hci_proto_connect_ind(hdev, BDADDR_ANY, BIS_LINK, &flags);
- if (!(mask & HCI_LM_ACCEPT))
- goto unlock;
-
- if (!(flags & HCI_PROTO_DEFER))
- goto unlock;
-
pa_sync = hci_conn_hash_lookup_pa_sync_handle
(hdev,
le16_to_cpu(ev->sync_handle));
@@ -6470,6 +6466,13 @@ static void hci_le_per_adv_report_evt(struct hci_dev *hdev, void *data,
if (!pa_sync)
goto unlock;
+ mask |= hci_proto_connect_ind(hdev, &pa_sync->dst, ISO_LINK, &flags);
+ if (!(mask & HCI_LM_ACCEPT))
+ goto unlock;
+
+ if (!(flags & HCI_PROTO_DEFER))
+ goto unlock;
+
if (ev->data_status == LE_PA_DATA_COMPLETE &&
!test_and_set_bit(HCI_CONN_PA_SYNC, &pa_sync->flags)) {
/* Notify iso layer */
@@ -6993,6 +6996,8 @@ static void hci_le_big_sync_established_evt(struct hci_dev *hdev, void *data,
set_bit(HCI_CONN_PA_SYNC, &bis->flags);
bis->sync_handle = conn->sync_handle;
+ bis->dst = conn->dst;
+ bis->dst_type = conn->dst_type;
bis->iso_qos.bcast.big = ev->handle;
memset(&interval, 0, sizeof(interval));
memcpy(&interval, ev->latency, sizeof(ev->latency));
@@ -7038,13 +7043,6 @@ static void hci_le_big_info_adv_report_evt(struct hci_dev *hdev, void *data,
hci_dev_lock(hdev);
- mask |= hci_proto_connect_ind(hdev, BDADDR_ANY, BIS_LINK, &flags);
- if (!(mask & HCI_LM_ACCEPT))
- goto unlock;
-
- if (!(flags & HCI_PROTO_DEFER))
- goto unlock;
-
pa_sync = hci_conn_hash_lookup_pa_sync_handle
(hdev,
le16_to_cpu(ev->sync_handle));
@@ -7054,6 +7052,13 @@ static void hci_le_big_info_adv_report_evt(struct hci_dev *hdev, void *data,
pa_sync->iso_qos.bcast.encryption = ev->encryption;
+ mask |= hci_proto_connect_ind(hdev, &pa_sync->dst, ISO_LINK, &flags);
+ if (!(mask & HCI_LM_ACCEPT))
+ goto unlock;
+
+ if (!(flags & HCI_PROTO_DEFER))
+ goto unlock;
+
/* Notify iso layer */
hci_connect_cfm(pa_sync, 0);
diff --git a/net/bluetooth/iso.c b/net/bluetooth/iso.c
index 6e2c752aaa8f..1dc233f04dbe 100644
--- a/net/bluetooth/iso.c
+++ b/net/bluetooth/iso.c
@@ -641,11 +641,12 @@ static struct sock *iso_get_sock(bdaddr_t *src, bdaddr_t *dst,
continue;
/* Exact match. */
- if (!bacmp(&iso_pi(sk)->src, src)) {
+ if (!bacmp(&iso_pi(sk)->src, src)
+ && !bacmp(&iso_pi(sk)->dst, dst)
+ ){
sock_hold(sk);
break;
}
-
/* Closest match */
if (!bacmp(&iso_pi(sk)->src, BDADDR_ANY)) {
if (sk1)
@@ -1962,7 +1963,7 @@ static void iso_conn_ready(struct iso_conn *conn)
}
if (!parent)
- parent = iso_get_sock(&hcon->src, BDADDR_ANY,
+ parent = iso_get_sock(&hcon->src, &hcon->dst,
BT_LISTEN, NULL, NULL);
if (!parent)
@@ -2203,6 +2204,11 @@ int iso_connect_ind(struct hci_dev *hdev, bdaddr_t *bdaddr, __u8 *flags)
} else {
sk = iso_get_sock(&hdev->bdaddr, BDADDR_ANY,
BT_LISTEN, NULL, NULL);
+ if (!sk)
+ sk = iso_get_sock(&hdev->bdaddr, bdaddr,
+ BT_LISTEN, NULL, NULL);
+ else
+ iso_pi(sk)->dst = *bdaddr;
}
done:
---
base-commit: f3daca9b490154fbb0459848cc2ed61e8367bddc
change-id: 20250506-iso-6515893b5bb3
Best regards,
--
Yang Li <yang.li@amlogic.com>
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] Bluetooth: fix socket matching ambiguity between BIS and CIS
2025-05-07 7:30 [PATCH] Bluetooth: fix socket matching ambiguity between BIS and CIS Yang Li via B4 Relay
@ 2025-05-07 7:46 ` Paul Menzel
2025-05-08 2:06 ` Yang Li
2025-05-07 7:52 ` bluez.test.bot
2025-05-08 6:54 ` [PATCH] " kernel test robot
2 siblings, 1 reply; 7+ messages in thread
From: Paul Menzel @ 2025-05-07 7:46 UTC (permalink / raw)
To: Yang Li
Cc: Marcel Holtmann, Johan Hedberg, Luiz Augusto von Dentz,
linux-bluetooth, linux-kernel
Dear Yang,
Thank you for your patch.
Am 07.05.25 um 09:30 schrieb Yang Li via B4 Relay:
> From: Yang Li <yang.li@amlogic.com>
It’d be great if you could start by describing the problem.
> The iso_get_sock function adds dst address matching to
> distinguish BIS and CIS sockets.
>
> Link: https://github.com/bluez/bluez/issues/1224
How can this patch be tested?
> Signed-off-by: Yang Li <yang.li@amlogic.com>
> ---
> net/bluetooth/hci_event.c | 35 ++++++++++++++++++++---------------
> net/bluetooth/iso.c | 12 +++++++++---
> 2 files changed, 29 insertions(+), 18 deletions(-)
>
> diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
> index 66052d6aaa1d..c1f32e98ef8a 100644
> --- a/net/bluetooth/hci_event.c
> +++ b/net/bluetooth/hci_event.c
> @@ -6413,6 +6413,8 @@ static void hci_le_pa_sync_estabilished_evt(struct hci_dev *hdev, void *data,
>
> conn->sync_handle = le16_to_cpu(ev->handle);
> conn->sid = HCI_SID_INVALID;
> + conn->dst = ev->bdaddr;
> + conn->dst_type = ev->bdaddr_type;
>
> mask |= hci_proto_connect_ind(hdev, &ev->bdaddr, BIS_LINK,
> &flags);
> @@ -6425,7 +6427,8 @@ static void hci_le_pa_sync_estabilished_evt(struct hci_dev *hdev, void *data,
> goto unlock;
>
> /* Add connection to indicate PA sync event */
> - pa_sync = hci_conn_add_unset(hdev, BIS_LINK, BDADDR_ANY,
> +
Why the extra blank line?
> + pa_sync = hci_conn_add_unset(hdev, BIS_LINK, &ev->bdaddr,
> HCI_ROLE_SLAVE);
>
> if (IS_ERR(pa_sync))
Kind regards,
Paul
> @@ -6456,13 +6459,6 @@ static void hci_le_per_adv_report_evt(struct hci_dev *hdev, void *data,
>
> hci_dev_lock(hdev);
>
> - mask |= hci_proto_connect_ind(hdev, BDADDR_ANY, BIS_LINK, &flags);
> - if (!(mask & HCI_LM_ACCEPT))
> - goto unlock;
> -
> - if (!(flags & HCI_PROTO_DEFER))
> - goto unlock;
> -
> pa_sync = hci_conn_hash_lookup_pa_sync_handle
> (hdev,
> le16_to_cpu(ev->sync_handle));
> @@ -6470,6 +6466,13 @@ static void hci_le_per_adv_report_evt(struct hci_dev *hdev, void *data,
> if (!pa_sync)
> goto unlock;
>
> + mask |= hci_proto_connect_ind(hdev, &pa_sync->dst, ISO_LINK, &flags);
> + if (!(mask & HCI_LM_ACCEPT))
> + goto unlock;
> +
> + if (!(flags & HCI_PROTO_DEFER))
> + goto unlock;
> +
> if (ev->data_status == LE_PA_DATA_COMPLETE &&
> !test_and_set_bit(HCI_CONN_PA_SYNC, &pa_sync->flags)) {
> /* Notify iso layer */
> @@ -6993,6 +6996,8 @@ static void hci_le_big_sync_established_evt(struct hci_dev *hdev, void *data,
> set_bit(HCI_CONN_PA_SYNC, &bis->flags);
>
> bis->sync_handle = conn->sync_handle;
> + bis->dst = conn->dst;
> + bis->dst_type = conn->dst_type;
> bis->iso_qos.bcast.big = ev->handle;
> memset(&interval, 0, sizeof(interval));
> memcpy(&interval, ev->latency, sizeof(ev->latency));
> @@ -7038,13 +7043,6 @@ static void hci_le_big_info_adv_report_evt(struct hci_dev *hdev, void *data,
>
> hci_dev_lock(hdev);
>
> - mask |= hci_proto_connect_ind(hdev, BDADDR_ANY, BIS_LINK, &flags);
> - if (!(mask & HCI_LM_ACCEPT))
> - goto unlock;
> -
> - if (!(flags & HCI_PROTO_DEFER))
> - goto unlock;
> -
> pa_sync = hci_conn_hash_lookup_pa_sync_handle
> (hdev,
> le16_to_cpu(ev->sync_handle));
> @@ -7054,6 +7052,13 @@ static void hci_le_big_info_adv_report_evt(struct hci_dev *hdev, void *data,
>
> pa_sync->iso_qos.bcast.encryption = ev->encryption;
>
> + mask |= hci_proto_connect_ind(hdev, &pa_sync->dst, ISO_LINK, &flags);
> + if (!(mask & HCI_LM_ACCEPT))
> + goto unlock;
> +
> + if (!(flags & HCI_PROTO_DEFER))
> + goto unlock;
> +
> /* Notify iso layer */
> hci_connect_cfm(pa_sync, 0);
>
> diff --git a/net/bluetooth/iso.c b/net/bluetooth/iso.c
> index 6e2c752aaa8f..1dc233f04dbe 100644
> --- a/net/bluetooth/iso.c
> +++ b/net/bluetooth/iso.c
> @@ -641,11 +641,12 @@ static struct sock *iso_get_sock(bdaddr_t *src, bdaddr_t *dst,
> continue;
>
> /* Exact match. */
> - if (!bacmp(&iso_pi(sk)->src, src)) {
> + if (!bacmp(&iso_pi(sk)->src, src)
> + && !bacmp(&iso_pi(sk)->dst, dst)
> + ){
> sock_hold(sk);
> break;
> }
> -
> /* Closest match */
> if (!bacmp(&iso_pi(sk)->src, BDADDR_ANY)) {
> if (sk1)
> @@ -1962,7 +1963,7 @@ static void iso_conn_ready(struct iso_conn *conn)
> }
>
> if (!parent)
> - parent = iso_get_sock(&hcon->src, BDADDR_ANY,
> + parent = iso_get_sock(&hcon->src, &hcon->dst,
> BT_LISTEN, NULL, NULL);
>
> if (!parent)
> @@ -2203,6 +2204,11 @@ int iso_connect_ind(struct hci_dev *hdev, bdaddr_t *bdaddr, __u8 *flags)
> } else {
> sk = iso_get_sock(&hdev->bdaddr, BDADDR_ANY,
> BT_LISTEN, NULL, NULL);
> + if (!sk)
> + sk = iso_get_sock(&hdev->bdaddr, bdaddr,
> + BT_LISTEN, NULL, NULL);
> + else
> + iso_pi(sk)->dst = *bdaddr;
> }
>
> done:
^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: Bluetooth: fix socket matching ambiguity between BIS and CIS
2025-05-07 7:30 [PATCH] Bluetooth: fix socket matching ambiguity between BIS and CIS Yang Li via B4 Relay
2025-05-07 7:46 ` Paul Menzel
@ 2025-05-07 7:52 ` bluez.test.bot
2025-05-08 6:54 ` [PATCH] " kernel test robot
2 siblings, 0 replies; 7+ messages in thread
From: bluez.test.bot @ 2025-05-07 7:52 UTC (permalink / raw)
To: linux-bluetooth, yang.li
[-- Attachment #1: Type: text/plain, Size: 13962 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=960348
---Test result---
Test Summary:
CheckPatch PENDING 0.34 seconds
GitLint PENDING 0.33 seconds
SubjectPrefix PASS 0.05 seconds
BuildKernel FAIL 18.55 seconds
CheckAllWarning FAIL 19.74 seconds
CheckSparse FAIL 22.00 seconds
BuildKernel32 FAIL 18.40 seconds
TestRunnerSetup FAIL 434.63 seconds
TestRunner_l2cap-tester FAIL 0.08 seconds
TestRunner_iso-tester FAIL 0.38 seconds
TestRunner_bnep-tester FAIL 0.10 seconds
TestRunner_mgmt-tester FAIL 0.08 seconds
TestRunner_rfcomm-tester FAIL 0.09 seconds
TestRunner_sco-tester FAIL 0.08 seconds
TestRunner_ioctl-tester FAIL 0.07 seconds
TestRunner_mesh-tester FAIL 0.08 seconds
TestRunner_smp-tester FAIL 0.08 seconds
TestRunner_userchan-tester FAIL 0.07 seconds
IncrementalBuild PENDING 0.54 seconds
Details
##############################
Test: CheckPatch - PENDING
Desc: Run checkpatch.pl script
Output:
##############################
Test: GitLint - PENDING
Desc: Run gitlint
Output:
##############################
Test: BuildKernel - FAIL
Desc: Build Kernel for Bluetooth
Output:
net/bluetooth/hci_event.c: In function ‘hci_le_per_adv_report_evt’:
net/bluetooth/hci_event.c:6469:53: error: ‘ISO_LINK’ undeclared (first use in this function); did you mean ‘ESCO_LINK’?
6469 | mask |= hci_proto_connect_ind(hdev, &pa_sync->dst, ISO_LINK, &flags);
| ^~~~~~~~
| ESCO_LINK
net/bluetooth/hci_event.c:6469:53: note: each undeclared identifier is reported only once for each function it appears in
net/bluetooth/hci_event.c: In function ‘hci_le_big_info_adv_report_evt’:
net/bluetooth/hci_event.c:7055:53: error: ‘ISO_LINK’ undeclared (first use in this function); did you mean ‘ESCO_LINK’?
7055 | mask |= hci_proto_connect_ind(hdev, &pa_sync->dst, ISO_LINK, &flags);
| ^~~~~~~~
| ESCO_LINK
make[4]: *** [scripts/Makefile.build:207: net/bluetooth/hci_event.o] Error 1
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [scripts/Makefile.build:465: net/bluetooth] Error 2
make[2]: *** [scripts/Makefile.build:465: net] Error 2
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [/github/workspace/src/src/Makefile:1994: .] Error 2
make: *** [Makefile:251: __sub-make] Error 2
##############################
Test: CheckAllWarning - FAIL
Desc: Run linux kernel with all warning enabled
Output:
net/bluetooth/hci_event.c: In function ‘hci_le_per_adv_report_evt’:
net/bluetooth/hci_event.c:6469:53: error: ‘ISO_LINK’ undeclared (first use in this function); did you mean ‘ESCO_LINK’?
6469 | mask |= hci_proto_connect_ind(hdev, &pa_sync->dst, ISO_LINK, &flags);
| ^~~~~~~~
| ESCO_LINK
net/bluetooth/hci_event.c:6469:53: note: each undeclared identifier is reported only once for each function it appears in
net/bluetooth/hci_event.c: In function ‘hci_le_big_info_adv_report_evt’:
net/bluetooth/hci_event.c:7055:53: error: ‘ISO_LINK’ undeclared (first use in this function); did you mean ‘ESCO_LINK’?
7055 | mask |= hci_proto_connect_ind(hdev, &pa_sync->dst, ISO_LINK, &flags);
| ^~~~~~~~
| ESCO_LINK
make[4]: *** [scripts/Makefile.build:207: net/bluetooth/hci_event.o] Error 1
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [scripts/Makefile.build:465: net/bluetooth] Error 2
make[2]: *** [scripts/Makefile.build:465: net] Error 2
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [/github/workspace/src/src/Makefile:1994: .] Error 2
make: *** [Makefile:251: __sub-make] Error 2
##############################
Test: CheckSparse - FAIL
Desc: Run sparse tool with linux kernel
Output:
net/bluetooth/af_bluetooth.c:248:25: warning: context imbalance in 'bt_accept_enqueue' - different lock contexts for basic block
net/bluetooth/hci_event.c: In function ‘hci_le_per_adv_report_evt’:
net/bluetooth/hci_event.c:6469:53: error: ‘ISO_LINK’ undeclared (first use in this function); did you mean ‘ESCO_LINK’?
6469 | mask |= hci_proto_connect_ind(hdev, &pa_sync->dst, ISO_LINK, &flags);
| ^~~~~~~~
| ESCO_LINK
net/bluetooth/hci_event.c:6469:53: note: each undeclared identifier is reported only once for each function it appears in
net/bluetooth/hci_event.c: In function ‘hci_le_big_info_adv_report_evt’:
net/bluetooth/hci_event.c:7055:53: error: ‘ISO_LINK’ undeclared (first use in this function); did you mean ‘ESCO_LINK’?
7055 | mask |= hci_proto_connect_ind(hdev, &pa_sync->dst, ISO_LINK, &flags);
| ^~~~~~~~
| ESCO_LINK
make[4]: *** [scripts/Makefile.build:207: net/bluetooth/hci_event.o] Error 1
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [scripts/Makefile.build:465: net/bluetooth] Error 2
make[2]: *** [scripts/Makefile.build:465: net] Error 2
make[2]: *** Waiting for unfinished jobs....
drivers/bluetooth/hci_ag6xx.c:257:24: warning: restricted __le32 degrades to integer
drivers/bluetooth/hci_mrvl.c:170:23: warning: restricted __le16 degrades to integer
drivers/bluetooth/hci_mrvl.c:203:23: warning: restricted __le16 degrades to integer
drivers/bluetooth/hci_nokia.c:279:23: warning: incorrect type in assignment (different base types)
drivers/bluetooth/hci_nokia.c:279:23: expected unsigned short [usertype] baud
drivers/bluetooth/hci_nokia.c:279:23: got restricted __le16 [usertype]
drivers/bluetooth/hci_nokia.c:282:26: warning: incorrect type in assignment (different base types)
drivers/bluetooth/hci_nokia.c:282:26: expected unsigned short [usertype] sys_clk
drivers/bluetooth/hci_nokia.c:282:26: got restricted __le16 [usertype]
make[1]: *** [/github/workspace/src/src/Makefile:1994: .] Error 2
make: *** [Makefile:251: __sub-make] Error 2
##############################
Test: BuildKernel32 - FAIL
Desc: Build 32bit Kernel for Bluetooth
Output:
net/bluetooth/hci_event.c: In function ‘hci_le_per_adv_report_evt’:
net/bluetooth/hci_event.c:6469:53: error: ‘ISO_LINK’ undeclared (first use in this function); did you mean ‘ESCO_LINK’?
6469 | mask |= hci_proto_connect_ind(hdev, &pa_sync->dst, ISO_LINK, &flags);
| ^~~~~~~~
| ESCO_LINK
net/bluetooth/hci_event.c:6469:53: note: each undeclared identifier is reported only once for each function it appears in
net/bluetooth/hci_event.c: In function ‘hci_le_big_info_adv_report_evt’:
net/bluetooth/hci_event.c:7055:53: error: ‘ISO_LINK’ undeclared (first use in this function); did you mean ‘ESCO_LINK’?
7055 | mask |= hci_proto_connect_ind(hdev, &pa_sync->dst, ISO_LINK, &flags);
| ^~~~~~~~
| ESCO_LINK
make[4]: *** [scripts/Makefile.build:207: net/bluetooth/hci_event.o] Error 1
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [scripts/Makefile.build:465: net/bluetooth] Error 2
make[2]: *** [scripts/Makefile.build:465: net] Error 2
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [/github/workspace/src/src/Makefile:1994: .] Error 2
make: *** [Makefile:251: __sub-make] Error 2
##############################
Test: TestRunnerSetup - FAIL
Desc: Setup kernel and bluez for test-runner
Output:
Kernel:
net/bluetooth/hci_event.c: In function ‘hci_le_per_adv_report_evt’:
net/bluetooth/hci_event.c:6469:53: error: ‘ISO_LINK’ undeclared (first use in this function); did you mean ‘ESCO_LINK’?
6469 | mask |= hci_proto_connect_ind(hdev, &pa_sync->dst, ISO_LINK, &flags);
| ^~~~~~~~
| ESCO_LINK
net/bluetooth/hci_event.c:6469:53: note: each undeclared identifier is reported only once for each function it appears in
net/bluetooth/hci_event.c: In function ‘hci_le_big_info_adv_report_evt’:
net/bluetooth/hci_event.c:7055:53: error: ‘ISO_LINK’ undeclared (first use in this function); did you mean ‘ESCO_LINK’?
7055 | mask |= hci_proto_connect_ind(hdev, &pa_sync->dst, ISO_LINK, &flags);
| ^~~~~~~~
| ESCO_LINK
make[4]: *** [scripts/Makefile.build:207: net/bluetooth/hci_event.o] Error 1
make[3]: *** [scripts/Makefile.build:465: net/bluetooth] Error 2
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [scripts/Makefile.build:465: net] Error 2
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [/github/workspace/src/src/Makefile:1994: .] Error 2
make: *** [Makefile:251: __sub-make] Error 2
##############################
Test: TestRunner_l2cap-tester - FAIL
Desc: Run l2cap-tester with test-runner
Output:
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu: could not open kernel file '/github/workspace/src/src/arch/x86/boot/bzImage': No such file or directory
##############################
Test: TestRunner_iso-tester - FAIL
Desc: Run iso-tester with test-runner
Output:
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu: could not open kernel file '/github/workspace/src/src/arch/x86/boot/bzImage': No such file or directory
##############################
Test: TestRunner_bnep-tester - FAIL
Desc: Run bnep-tester with test-runner
Output:
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu: could not open kernel file '/github/workspace/src/src/arch/x86/boot/bzImage': No such file or directory
##############################
Test: TestRunner_mgmt-tester - FAIL
Desc: Run mgmt-tester with test-runner
Output:
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu: could not open kernel file '/github/workspace/src/src/arch/x86/boot/bzImage': No such file or directory
##############################
Test: TestRunner_rfcomm-tester - FAIL
Desc: Run rfcomm-tester with test-runner
Output:
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu: could not open kernel file '/github/workspace/src/src/arch/x86/boot/bzImage': No such file or directory
##############################
Test: TestRunner_sco-tester - FAIL
Desc: Run sco-tester with test-runner
Output:
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu: could not open kernel file '/github/workspace/src/src/arch/x86/boot/bzImage': No such file or directory
##############################
Test: TestRunner_ioctl-tester - FAIL
Desc: Run ioctl-tester with test-runner
Output:
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu: could not open kernel file '/github/workspace/src/src/arch/x86/boot/bzImage': No such file or directory
##############################
Test: TestRunner_mesh-tester - FAIL
Desc: Run mesh-tester with test-runner
Output:
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu: could not open kernel file '/github/workspace/src/src/arch/x86/boot/bzImage': No such file or directory
##############################
Test: TestRunner_smp-tester - FAIL
Desc: Run smp-tester with test-runner
Output:
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu: could not open kernel file '/github/workspace/src/src/arch/x86/boot/bzImage': No such file or directory
##############################
Test: TestRunner_userchan-tester - FAIL
Desc: Run userchan-tester with test-runner
Output:
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu: could not open kernel file '/github/workspace/src/src/arch/x86/boot/bzImage': No such file or directory
##############################
Test: IncrementalBuild - PENDING
Desc: Incremental build with the patches in the series
Output:
---
Regards,
Linux Bluetooth
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Bluetooth: fix socket matching ambiguity between BIS and CIS
2025-05-07 7:46 ` Paul Menzel
@ 2025-05-08 2:06 ` Yang Li
0 siblings, 0 replies; 7+ messages in thread
From: Yang Li @ 2025-05-08 2:06 UTC (permalink / raw)
To: Paul Menzel
Cc: Marcel Holtmann, Johan Hedberg, Luiz Augusto von Dentz,
linux-bluetooth, linux-kernel
Hi Paul,
> [ EXTERNAL EMAIL ]
>
> Dear Yang,
>
>
> Thank you for your patch.
>
> Am 07.05.25 um 09:30 schrieb Yang Li via B4 Relay:
>> From: Yang Li <yang.li@amlogic.com>
>
> It’d be great if you could start by describing the problem.
Sorry for the confusion—I initially thought the linked BlueZ issue
provided enough detail.
To clarify: the problem occurs when the DUT is acting as a sink device.
If a BIS already exists, and a CIS connection is then created, the
kernel mistakenly references the BIS socket. This happens because the
socket selection only checks for |state == BT_LISTEN|, without further
distinguishing between BIS and CIS contexts.
To resolve this, I believe the destination address (|dst addr|) should
also be matched when retrieving the ISO socket, so BIS and CIS sockets
can be properly differentiated.
>
>> The iso_get_sock function adds dst address matching to
>> distinguish BIS and CIS sockets.
>>
>> Link: https://github.com/bluez/bluez/issues/1224
>
> How can this patch be tested?
DUT environment:BlueZ 5.82+pipewire 1.3.83+kernel 6.12
Assistant:Redmi K70 phone
BIS Source:1BIG 2BISes
Steps to reproduce:
1> Use K70 mobile phone to connect to DUT, and configure BIS source for
DUT as Assistant, and DUT audio plays normally;
2> Do not end listening, K70 mobile phone plays music, DUT still uses
BIS source audio, check HCI log, CIS link is disconnected;
After testing, the modification resolves the issue I encountered.
However, I'm not certain whether this approach might introduce new
issues elsewhere.
>
>> Signed-off-by: Yang Li <yang.li@amlogic.com>
>> ---
>> net/bluetooth/hci_event.c | 35 ++++++++++++++++++++---------------
>> net/bluetooth/iso.c | 12 +++++++++---
>> 2 files changed, 29 insertions(+), 18 deletions(-)
>>
>> diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
>> index 66052d6aaa1d..c1f32e98ef8a 100644
>> --- a/net/bluetooth/hci_event.c
>> +++ b/net/bluetooth/hci_event.c
>> @@ -6413,6 +6413,8 @@ static void
>> hci_le_pa_sync_estabilished_evt(struct hci_dev *hdev, void *data,
>>
>> conn->sync_handle = le16_to_cpu(ev->handle);
>> conn->sid = HCI_SID_INVALID;
>> + conn->dst = ev->bdaddr;
>> + conn->dst_type = ev->bdaddr_type;
>>
>> mask |= hci_proto_connect_ind(hdev, &ev->bdaddr, BIS_LINK,
>> &flags);
>> @@ -6425,7 +6427,8 @@ static void
>> hci_le_pa_sync_estabilished_evt(struct hci_dev *hdev, void *data,
>> goto unlock;
>>
>> /* Add connection to indicate PA sync event */
>> - pa_sync = hci_conn_add_unset(hdev, BIS_LINK, BDADDR_ANY,
>> +
>
> Why the extra blank line?
Sorry, I will remove this modification in the next version.
>
>> + pa_sync = hci_conn_add_unset(hdev, BIS_LINK, &ev->bdaddr,
>> HCI_ROLE_SLAVE);
>>
>> if (IS_ERR(pa_sync))
>
>
> Kind regards,
>
> Paul
>
>
>> @@ -6456,13 +6459,6 @@ static void hci_le_per_adv_report_evt(struct
>> hci_dev *hdev, void *data,
>>
>> hci_dev_lock(hdev);
>>
>> - mask |= hci_proto_connect_ind(hdev, BDADDR_ANY, BIS_LINK, &flags);
>> - if (!(mask & HCI_LM_ACCEPT))
>> - goto unlock;
>> -
>> - if (!(flags & HCI_PROTO_DEFER))
>> - goto unlock;
>> -
>> pa_sync = hci_conn_hash_lookup_pa_sync_handle
>> (hdev,
>> le16_to_cpu(ev->sync_handle));
>> @@ -6470,6 +6466,13 @@ static void hci_le_per_adv_report_evt(struct
>> hci_dev *hdev, void *data,
>> if (!pa_sync)
>> goto unlock;
>>
>> + mask |= hci_proto_connect_ind(hdev, &pa_sync->dst, ISO_LINK,
>> &flags);
>> + if (!(mask & HCI_LM_ACCEPT))
>> + goto unlock;
>> +
>> + if (!(flags & HCI_PROTO_DEFER))
>> + goto unlock;
>> +
>> if (ev->data_status == LE_PA_DATA_COMPLETE &&
>> !test_and_set_bit(HCI_CONN_PA_SYNC, &pa_sync->flags)) {
>> /* Notify iso layer */
>> @@ -6993,6 +6996,8 @@ static void
>> hci_le_big_sync_established_evt(struct hci_dev *hdev, void *data,
>> set_bit(HCI_CONN_PA_SYNC, &bis->flags);
>>
>> bis->sync_handle = conn->sync_handle;
>> + bis->dst = conn->dst;
>> + bis->dst_type = conn->dst_type;
>> bis->iso_qos.bcast.big = ev->handle;
>> memset(&interval, 0, sizeof(interval));
>> memcpy(&interval, ev->latency, sizeof(ev->latency));
>> @@ -7038,13 +7043,6 @@ static void
>> hci_le_big_info_adv_report_evt(struct hci_dev *hdev, void *data,
>>
>> hci_dev_lock(hdev);
>>
>> - mask |= hci_proto_connect_ind(hdev, BDADDR_ANY, BIS_LINK, &flags);
>> - if (!(mask & HCI_LM_ACCEPT))
>> - goto unlock;
>> -
>> - if (!(flags & HCI_PROTO_DEFER))
>> - goto unlock;
>> -
>> pa_sync = hci_conn_hash_lookup_pa_sync_handle
>> (hdev,
>> le16_to_cpu(ev->sync_handle));
>> @@ -7054,6 +7052,13 @@ static void
>> hci_le_big_info_adv_report_evt(struct hci_dev *hdev, void *data,
>>
>> pa_sync->iso_qos.bcast.encryption = ev->encryption;
>>
>> + mask |= hci_proto_connect_ind(hdev, &pa_sync->dst, ISO_LINK,
>> &flags);
>> + if (!(mask & HCI_LM_ACCEPT))
>> + goto unlock;
>> +
>> + if (!(flags & HCI_PROTO_DEFER))
>> + goto unlock;
>> +
>> /* Notify iso layer */
>> hci_connect_cfm(pa_sync, 0);
>>
>> diff --git a/net/bluetooth/iso.c b/net/bluetooth/iso.c
>> index 6e2c752aaa8f..1dc233f04dbe 100644
>> --- a/net/bluetooth/iso.c
>> +++ b/net/bluetooth/iso.c
>> @@ -641,11 +641,12 @@ static struct sock *iso_get_sock(bdaddr_t *src,
>> bdaddr_t *dst,
>> continue;
>>
>> /* Exact match. */
>> - if (!bacmp(&iso_pi(sk)->src, src)) {
>> + if (!bacmp(&iso_pi(sk)->src, src)
>> + && !bacmp(&iso_pi(sk)->dst, dst)
>> + ){
>> sock_hold(sk);
>> break;
>> }
>> -
>> /* Closest match */
>> if (!bacmp(&iso_pi(sk)->src, BDADDR_ANY)) {
>> if (sk1)
>> @@ -1962,7 +1963,7 @@ static void iso_conn_ready(struct iso_conn *conn)
>> }
>>
>> if (!parent)
>> - parent = iso_get_sock(&hcon->src, BDADDR_ANY,
>> + parent = iso_get_sock(&hcon->src, &hcon->dst,
>> BT_LISTEN, NULL, NULL);
>>
>> if (!parent)
>> @@ -2203,6 +2204,11 @@ int iso_connect_ind(struct hci_dev *hdev,
>> bdaddr_t *bdaddr, __u8 *flags)
>> } else {
>> sk = iso_get_sock(&hdev->bdaddr, BDADDR_ANY,
>> BT_LISTEN, NULL, NULL);
>> + if (!sk)
>> + sk = iso_get_sock(&hdev->bdaddr, bdaddr,
>> + BT_LISTEN, NULL, NULL);
>> + else
>> + iso_pi(sk)->dst = *bdaddr;
>> }
>>
>> done:
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Bluetooth: fix socket matching ambiguity between BIS and CIS
2025-05-07 7:30 [PATCH] Bluetooth: fix socket matching ambiguity between BIS and CIS Yang Li via B4 Relay
2025-05-07 7:46 ` Paul Menzel
2025-05-07 7:52 ` bluez.test.bot
@ 2025-05-08 6:54 ` kernel test robot
2025-05-08 15:30 ` Luiz Augusto von Dentz
2 siblings, 1 reply; 7+ messages in thread
From: kernel test robot @ 2025-05-08 6:54 UTC (permalink / raw)
To: Yang Li via B4 Relay, Marcel Holtmann, Johan Hedberg,
Luiz Augusto von Dentz
Cc: oe-kbuild-all, linux-bluetooth, linux-kernel, Yang Li
Hi Yang,
kernel test robot noticed the following build errors:
[auto build test ERROR on f3daca9b490154fbb0459848cc2ed61e8367bddc]
url: https://github.com/intel-lab-lkp/linux/commits/Yang-Li-via-B4-Relay/Bluetooth-fix-socket-matching-ambiguity-between-BIS-and-CIS/20250507-153347
base: f3daca9b490154fbb0459848cc2ed61e8367bddc
patch link: https://lore.kernel.org/r/20250507-iso-v1-1-6f60d243e037%40amlogic.com
patch subject: [PATCH] Bluetooth: fix socket matching ambiguity between BIS and CIS
config: i386-allmodconfig (https://download.01.org/0day-ci/archive/20250508/202505081427.1Y3wyo7v-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250508/202505081427.1Y3wyo7v-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202505081427.1Y3wyo7v-lkp@intel.com/
All errors (new ones prefixed by >>):
net/bluetooth/hci_event.c: In function 'hci_le_per_adv_report_evt':
>> net/bluetooth/hci_event.c:6469:60: error: 'ISO_LINK' undeclared (first use in this function); did you mean 'SCO_LINK'?
6469 | mask |= hci_proto_connect_ind(hdev, &pa_sync->dst, ISO_LINK, &flags);
| ^~~~~~~~
| SCO_LINK
net/bluetooth/hci_event.c:6469:60: note: each undeclared identifier is reported only once for each function it appears in
net/bluetooth/hci_event.c: In function 'hci_le_big_info_adv_report_evt':
net/bluetooth/hci_event.c:7055:60: error: 'ISO_LINK' undeclared (first use in this function); did you mean 'SCO_LINK'?
7055 | mask |= hci_proto_connect_ind(hdev, &pa_sync->dst, ISO_LINK, &flags);
| ^~~~~~~~
| SCO_LINK
vim +6469 net/bluetooth/hci_event.c
6449
6450 static void hci_le_per_adv_report_evt(struct hci_dev *hdev, void *data,
6451 struct sk_buff *skb)
6452 {
6453 struct hci_ev_le_per_adv_report *ev = data;
6454 int mask = hdev->link_mode;
6455 __u8 flags = 0;
6456 struct hci_conn *pa_sync;
6457
6458 bt_dev_dbg(hdev, "sync_handle 0x%4.4x", le16_to_cpu(ev->sync_handle));
6459
6460 hci_dev_lock(hdev);
6461
6462 pa_sync = hci_conn_hash_lookup_pa_sync_handle
6463 (hdev,
6464 le16_to_cpu(ev->sync_handle));
6465
6466 if (!pa_sync)
6467 goto unlock;
6468
> 6469 mask |= hci_proto_connect_ind(hdev, &pa_sync->dst, ISO_LINK, &flags);
6470 if (!(mask & HCI_LM_ACCEPT))
6471 goto unlock;
6472
6473 if (!(flags & HCI_PROTO_DEFER))
6474 goto unlock;
6475
6476 if (ev->data_status == LE_PA_DATA_COMPLETE &&
6477 !test_and_set_bit(HCI_CONN_PA_SYNC, &pa_sync->flags)) {
6478 /* Notify iso layer */
6479 hci_connect_cfm(pa_sync, 0);
6480
6481 /* Notify MGMT layer */
6482 mgmt_device_connected(hdev, pa_sync, NULL, 0);
6483 }
6484
6485 unlock:
6486 hci_dev_unlock(hdev);
6487 }
6488
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Bluetooth: fix socket matching ambiguity between BIS and CIS
2025-05-08 6:54 ` [PATCH] " kernel test robot
@ 2025-05-08 15:30 ` Luiz Augusto von Dentz
2025-05-09 8:20 ` Yang Li
0 siblings, 1 reply; 7+ messages in thread
From: Luiz Augusto von Dentz @ 2025-05-08 15:30 UTC (permalink / raw)
To: kernel test robot
Cc: Yang Li via B4 Relay, Marcel Holtmann, Johan Hedberg,
oe-kbuild-all, linux-bluetooth, linux-kernel, Yang Li
Hi,
On Thu, May 8, 2025 at 2:54 AM kernel test robot <lkp@intel.com> wrote:
>
> Hi Yang,
>
> kernel test robot noticed the following build errors:
>
> [auto build test ERROR on f3daca9b490154fbb0459848cc2ed61e8367bddc]
>
> url: https://github.com/intel-lab-lkp/linux/commits/Yang-Li-via-B4-Relay/Bluetooth-fix-socket-matching-ambiguity-between-BIS-and-CIS/20250507-153347
> base: f3daca9b490154fbb0459848cc2ed61e8367bddc
> patch link: https://lore.kernel.org/r/20250507-iso-v1-1-6f60d243e037%40amlogic.com
> patch subject: [PATCH] Bluetooth: fix socket matching ambiguity between BIS and CIS
> config: i386-allmodconfig (https://download.01.org/0day-ci/archive/20250508/202505081427.1Y3wyo7v-lkp@intel.com/config)
> compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250508/202505081427.1Y3wyo7v-lkp@intel.com/reproduce)
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202505081427.1Y3wyo7v-lkp@intel.com/
>
> All errors (new ones prefixed by >>):
>
> net/bluetooth/hci_event.c: In function 'hci_le_per_adv_report_evt':
> >> net/bluetooth/hci_event.c:6469:60: error: 'ISO_LINK' undeclared (first use in this function); did you mean 'SCO_LINK'?
> 6469 | mask |= hci_proto_connect_ind(hdev, &pa_sync->dst, ISO_LINK, &flags);
> | ^~~~~~~~
> | SCO_LINK
> net/bluetooth/hci_event.c:6469:60: note: each undeclared identifier is reported only once for each function it appears in
> net/bluetooth/hci_event.c: In function 'hci_le_big_info_adv_report_evt':
> net/bluetooth/hci_event.c:7055:60: error: 'ISO_LINK' undeclared (first use in this function); did you mean 'SCO_LINK'?
> 7055 | mask |= hci_proto_connect_ind(hdev, &pa_sync->dst, ISO_LINK, &flags);
> | ^~~~~~~~
> | SCO_LINK
>
>
> vim +6469 net/bluetooth/hci_event.c
>
> 6449
> 6450 static void hci_le_per_adv_report_evt(struct hci_dev *hdev, void *data,
> 6451 struct sk_buff *skb)
> 6452 {
> 6453 struct hci_ev_le_per_adv_report *ev = data;
> 6454 int mask = hdev->link_mode;
> 6455 __u8 flags = 0;
> 6456 struct hci_conn *pa_sync;
> 6457
> 6458 bt_dev_dbg(hdev, "sync_handle 0x%4.4x", le16_to_cpu(ev->sync_handle));
> 6459
> 6460 hci_dev_lock(hdev);
> 6461
> 6462 pa_sync = hci_conn_hash_lookup_pa_sync_handle
> 6463 (hdev,
> 6464 le16_to_cpu(ev->sync_handle));
> 6465
> 6466 if (!pa_sync)
> 6467 goto unlock;
> 6468
> > 6469 mask |= hci_proto_connect_ind(hdev, &pa_sync->dst, ISO_LINK, &flags);
> 6470 if (!(mask & HCI_LM_ACCEPT))
> 6471 goto unlock;
> 6472
> 6473 if (!(flags & HCI_PROTO_DEFER))
> 6474 goto unlock;
> 6475
> 6476 if (ev->data_status == LE_PA_DATA_COMPLETE &&
> 6477 !test_and_set_bit(HCI_CONN_PA_SYNC, &pa_sync->flags)) {
> 6478 /* Notify iso layer */
> 6479 hci_connect_cfm(pa_sync, 0);
> 6480
> 6481 /* Notify MGMT layer */
> 6482 mgmt_device_connected(hdev, pa_sync, NULL, 0);
> 6483 }
> 6484
> 6485 unlock:
> 6486 hci_dev_unlock(hdev);
> 6487 }
> 6488
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
This is probably already solved by:
https://github.com/bluez/bluetooth-next/commit/f3daca9b490154fbb0459848cc2ed61e8367bddc
--
Luiz Augusto von Dentz
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Bluetooth: fix socket matching ambiguity between BIS and CIS
2025-05-08 15:30 ` Luiz Augusto von Dentz
@ 2025-05-09 8:20 ` Yang Li
0 siblings, 0 replies; 7+ messages in thread
From: Yang Li @ 2025-05-09 8:20 UTC (permalink / raw)
To: Luiz Augusto von Dentz, kernel test robot
Cc: Yang Li via B4 Relay, Marcel Holtmann, Johan Hedberg,
oe-kbuild-all, linux-bluetooth, linux-kernel
Hi Luzi,
> [ EXTERNAL EMAIL ]
>
> Hi,
>
> On Thu, May 8, 2025 at 2:54 AM kernel test robot <lkp@intel.com> wrote:
>> Hi Yang,
>>
>> kernel test robot noticed the following build errors:
>>
>> [auto build test ERROR on f3daca9b490154fbb0459848cc2ed61e8367bddc]
>>
>> url: https://github.com/intel-lab-lkp/linux/commits/Yang-Li-via-B4-Relay/Bluetooth-fix-socket-matching-ambiguity-between-BIS-and-CIS/20250507-153347
>> base: f3daca9b490154fbb0459848cc2ed61e8367bddc
>> patch link: https://lore.kernel.org/r/20250507-iso-v1-1-6f60d243e037%40amlogic.com
>> patch subject: [PATCH] Bluetooth: fix socket matching ambiguity between BIS and CIS
>> config: i386-allmodconfig (https://download.01.org/0day-ci/archive/20250508/202505081427.1Y3wyo7v-lkp@intel.com/config)
>> compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
>> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250508/202505081427.1Y3wyo7v-lkp@intel.com/reproduce)
>>
>> If you fix the issue in a separate patch/commit (i.e. not just a new version of
>> the same patch/commit), kindly add following tags
>> | Reported-by: kernel test robot <lkp@intel.com>
>> | Closes: https://lore.kernel.org/oe-kbuild-all/202505081427.1Y3wyo7v-lkp@intel.com/
>>
>> All errors (new ones prefixed by >>):
>>
>> net/bluetooth/hci_event.c: In function 'hci_le_per_adv_report_evt':
>>>> net/bluetooth/hci_event.c:6469:60: error: 'ISO_LINK' undeclared (first use in this function); did you mean 'SCO_LINK'?
>> 6469 | mask |= hci_proto_connect_ind(hdev, &pa_sync->dst, ISO_LINK, &flags);
>> | ^~~~~~~~
>> | SCO_LINK
>> net/bluetooth/hci_event.c:6469:60: note: each undeclared identifier is reported only once for each function it appears in
>> net/bluetooth/hci_event.c: In function 'hci_le_big_info_adv_report_evt':
>> net/bluetooth/hci_event.c:7055:60: error: 'ISO_LINK' undeclared (first use in this function); did you mean 'SCO_LINK'?
>> 7055 | mask |= hci_proto_connect_ind(hdev, &pa_sync->dst, ISO_LINK, &flags);
>> | ^~~~~~~~
>> | SCO_LINK
>>
>>
>> vim +6469 net/bluetooth/hci_event.c
>>
>> 6449
>> 6450 static void hci_le_per_adv_report_evt(struct hci_dev *hdev, void *data,
>> 6451 struct sk_buff *skb)
>> 6452 {
>> 6453 struct hci_ev_le_per_adv_report *ev = data;
>> 6454 int mask = hdev->link_mode;
>> 6455 __u8 flags = 0;
>> 6456 struct hci_conn *pa_sync;
>> 6457
>> 6458 bt_dev_dbg(hdev, "sync_handle 0x%4.4x", le16_to_cpu(ev->sync_handle));
>> 6459
>> 6460 hci_dev_lock(hdev);
>> 6461
>> 6462 pa_sync = hci_conn_hash_lookup_pa_sync_handle
>> 6463 (hdev,
>> 6464 le16_to_cpu(ev->sync_handle));
>> 6465
>> 6466 if (!pa_sync)
>> 6467 goto unlock;
>> 6468
>>> 6469 mask |= hci_proto_connect_ind(hdev, &pa_sync->dst, ISO_LINK, &flags);
>> 6470 if (!(mask & HCI_LM_ACCEPT))
>> 6471 goto unlock;
>> 6472
>> 6473 if (!(flags & HCI_PROTO_DEFER))
>> 6474 goto unlock;
>> 6475
>> 6476 if (ev->data_status == LE_PA_DATA_COMPLETE &&
>> 6477 !test_and_set_bit(HCI_CONN_PA_SYNC, &pa_sync->flags)) {
>> 6478 /* Notify iso layer */
>> 6479 hci_connect_cfm(pa_sync, 0);
>> 6480
>> 6481 /* Notify MGMT layer */
>> 6482 mgmt_device_connected(hdev, pa_sync, NULL, 0);
>> 6483 }
>> 6484
>> 6485 unlock:
>> 6486 hci_dev_unlock(hdev);
>> 6487 }
>> 6488
>>
>> --
>> 0-DAY CI Kernel Test Service
>> https://github.com/intel/lkp-tests/wiki
> This is probably already solved by:
>
> https://github.com/bluez/bluetooth-next/commit/f3daca9b490154fbb0459848cc2ed61e8367bddc
I'm currently working with kernel 6.12, but this patch seems to conflict
with it. Do you know if there's a plan to backport it to v6.12?
>
> --
> Luiz Augusto von Dentz
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-05-09 8:21 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-07 7:30 [PATCH] Bluetooth: fix socket matching ambiguity between BIS and CIS Yang Li via B4 Relay
2025-05-07 7:46 ` Paul Menzel
2025-05-08 2:06 ` Yang Li
2025-05-07 7:52 ` bluez.test.bot
2025-05-08 6:54 ` [PATCH] " kernel test robot
2025-05-08 15:30 ` Luiz Augusto von Dentz
2025-05-09 8:20 ` Yang Li
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox