summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorPauli Virtanen <pav@iki.fi>2023-02-25 21:42:51 +0000
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2023-02-27 11:25:20 -0800
commit2be849c2398bb57424053ffd6ca408ef907469bc (patch)
tree2a3177d5fcba3cc717065eb7b38ced2579ace598 /tools
parent80a45cb6a2402c820359dba593d9f5c68c30fb6e (diff)
downloadbluez-2be849c2398bb57424053ffd6ca408ef907469bc.tar.gz
iso-tester: Add test for central receiving timestamped ISO packet
This attempts to receive a timestamped HCI ISO data packet on central. With kernel 6.2 HCI ISO packet parsing this test fails with Bluetooth: Frame malformed (len 40, expected len 0) Link: https://lore.kernel.org/linux-bluetooth/1fd2d4523c139deda93aab2c31f1508d79c32472.1676921889.git.pav@iki.fi/
Diffstat (limited to 'tools')
-rw-r--r--tools/iso-tester.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/tools/iso-tester.c b/tools/iso-tester.c
index dcfd6a045..7bcb1b3ca 100644
--- a/tools/iso-tester.c
+++ b/tools/iso-tester.c
@@ -149,6 +149,7 @@ struct iso_client_data {
bool bcast;
bool defer;
bool disconnect;
+ bool ts;
};
static void mgmt_debug(const char *str, void *user_data)
@@ -572,6 +573,14 @@ static const struct iso_client_data listen_16_2_1_recv = {
.server = true,
};
+static const struct iso_client_data listen_16_2_1_recv_ts = {
+ .qos = QOS_16_2_1,
+ .expect_err = 0,
+ .recv = &send_16_2_1,
+ .server = true,
+ .ts = true,
+};
+
static const struct iso_client_data defer_16_2_1 = {
.qos = QOS_16_2_1,
.expect_err = 0,
@@ -1157,7 +1166,8 @@ static void iso_recv(struct test_data *data, GIOChannel *io)
}
host = hciemu_client_get_host(data->hciemu);
- bthost_send_iso(host, data->handle, false, sn++, 0, isodata->recv, 1);
+ bthost_send_iso(host, data->handle, isodata->ts, sn++, 0,
+ isodata->recv, 1);
data->io_id[0] = g_io_add_watch(io, G_IO_IN, iso_recv_data, data);
}
@@ -1809,6 +1819,10 @@ int main(int argc, char *argv[])
test_iso("ISO Receive - Success", &listen_16_2_1_recv, setup_powered,
test_listen);
+ test_iso("ISO Receive Timestamped - Success", &listen_16_2_1_recv_ts,
+ setup_powered,
+ test_listen);
+
test_iso("ISO Defer - Success", &defer_16_2_1, setup_powered,
test_defer);