2023-05-30 19:10:36

by fdanis-oss

[permalink] [raw]
Subject: [bluez/bluez] 000c20: iso-tester: Add tests for AC configuration reconnect

Branch: refs/heads/master
Home: https://github.com/bluez/bluez
Commit: 000c2012f38afffd476b43fbf0695886e7381eed
https://github.com/bluez/bluez/commit/000c2012f38afffd476b43fbf0695886e7381eed
Author: Pauli Virtanen <[email protected]>
Date: 2023-05-30 (Tue, 30 May 2023)

Changed paths:
M tools/iso-tester.c

Log Message:
-----------
iso-tester: Add tests for AC configuration reconnect

Add test for reconnecting a CIG with two CIS, either both with same peer
or with different peers.

ISO Reconnect AC 6(i) - Success
ISO Reconnect AC 6(ii) - Success


Commit: a8b927e34733900c213b75348e7f6ef714590d39
https://github.com/bluez/bluez/commit/a8b927e34733900c213b75348e7f6ef714590d39
Author: Pauli Virtanen <[email protected]>
Date: 2023-05-30 (Tue, 30 May 2023)

Changed paths:
M emulator/btdev.c

Log Message:
-----------
btdev: fix inactive CIG configurable status

CIG shall not be configurable after the first Create CIS until Remove
CIG is issued (Core v5.3 Vol 6 Part B Sec. 4.5.14.3). We currently have
it configurable in the inactive state (Create CIS done and all CIS
closed), which is incorrect.

Track CIG state and allow reconfigure only in nonexistent/configured
state, i.e., when no CIS have been created yet.


Commit: d214fe5f75229e4c761a458b33651d6316d3562a
https://github.com/bluez/bluez/commit/d214fe5f75229e4c761a458b33651d6316d3562a
Author: Pauli Virtanen <[email protected]>
Date: 2023-05-30 (Tue, 30 May 2023)

Changed paths:
M emulator/btdev.c
M monitor/bt.h

Log Message:
-----------
btdev: check LE Create CIS error conditions

Check LE Create CIS input parameter are valid and return correct status
codes (Core v5.3 Vol 4 Part E Sec. 7.8.99).

On current bluetooth-next kernel, this results to

ISO AC 6(i) - Success Failed
ISO AC 7(i) - Success Failed
ISO AC 8(i) - Success Failed
ISO AC 9(i) - Success Failed
ISO AC 11(i) - Success Failed

as in these tests the kernel is sending new Create CIS commands before
it has seen all events from the previous, which is not allowed:

< HCI Command: LE Create Co.. (0x08|0x0064) plen 9 #129 [hci0]
Number of CIS: 2
CIS Handle: 257
ACL Handle: 42
CIS Handle: 258
ACL Handle: 42
> HCI Event: Command Status (0x0f) plen 4 #130 [hci0]
LE Create Connected Isochronous Stream (0x08|0x0064) ncmd 1
Status: Success (0x00)
> HCI Event: LE Meta Event (0x3e) plen 29 #131 [hci0]
LE Connected Isochronous Stream Established (0x19)
Status: Success (0x00)
Connection Handle: 257
...
< HCI Command: LE Setup Is.. (0x08|0x006e) plen 13 #132 [hci0]
...
> HCI Event: Command Complete (0x0e) plen 6 #133 [hci0]
LE Setup Isochronous Data Path (0x08|0x006e) ncmd 1
...
< HCI Command: LE Create Co.. (0x08|0x0064) plen 5 #134 [hci0]
Number of CIS: 1
CIS Handle: 258
ACL Handle: 42
> HCI Event: Command Status (0x0f) plen 4 #135 [hci0]
LE Create Connected Isochronous Stream (0x08|0x0064) ncmd 1
Status: ACL Connection Already Exists (0x0b)
> HCI Event: LE Meta Event (0x3e) plen 29 #136 [hci0]
LE Connected Isochronous Stream Established (0x19)
Status: Success (0x00)
Connection Handle: 258
...

The emulator uses Already Exists error code here, not Command
Disallowed, since the Established events are logically generated
immediately after the first status event, even though the kernel hasn't
yet processed them.


Commit: 15eb57049b19df89701cf6ad0ced2a0c7cecc475
https://github.com/bluez/bluez/commit/15eb57049b19df89701cf6ad0ced2a0c7cecc475
Author: Pauli Virtanen <[email protected]>
Date: 2023-05-30 (Tue, 30 May 2023)

Changed paths:
M tools/test-runner.c

Log Message:
-----------
test-runner: enable no_hash_pointers=1

Set no_hash_pointers=1 to avoid printk printing "___ptrval___" for %p.
This happens with test-runner since the kernel is not running long
enough to gather entropy and so refuses to print addresses, and makes
debugging harder. As test-runner is only used for testing and
debugging, pointer hashing is not needed.


Compare: https://github.com/bluez/bluez/compare/7002ecc8914a...15eb57049b19