Parent: a8b927e34733900c213b75348e7f6ef714590d39
Author: Pauli Virtanen <pav@iki.fi>
Committer: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Date: 2023-05-30 21:18:13
Tree: d8fad1aa0cd612a01a42c086a4615abb451e8ebf
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.
Diffstat
| M | emulator/btdev.c | | | 38 | ++++++++++++++++++++++++++++++++++++++ |
| M | monitor/bt.h | | | 1 | + |
2 files changed, 39 insertions(+), 0 deletions(-)