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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



  Branch: refs/heads/master
  Home:   https://github.com/bluez/bluez
  Commit: 000c2012f38afffd476b43fbf0695886e7381eed
      https://github.com/bluez/bluez/commit/000c2012f38afffd476b43fbf0695886e7381eed
  Author: Pauli Virtanen <pav@xxxxxx>
  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 <pav@xxxxxx>
  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 <pav@xxxxxx>
  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 <pav@xxxxxx>
  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



[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux