From f13aa0e059f55fa0c2a3d0650c5b103a1d098ead Mon Sep 17 00:00:00 2001 From: Emil Gydesen Date: Wed, 24 Nov 2021 11:59:01 +0100 Subject: [PATCH] Bluetooth: CSIS: Remove addr from bt_csis_client_set_member Remove the addr struct from bt_csis_client_set_member as that was only used by the upper layers and not the CSIS client itself, and as such should only reside in the upper layers. Signed-off-by: Emil Gydesen --- include/bluetooth/audio/csis.h | 1 - subsys/bluetooth/shell/csis_client.c | 9 +++++---- .../bsim_test_audio/src/csis_client_test.c | 16 +++++++++------- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/include/bluetooth/audio/csis.h b/include/bluetooth/audio/csis.h index 85bb820d412..76e0c8f7051 100644 --- a/include/bluetooth/audio/csis.h +++ b/include/bluetooth/audio/csis.h @@ -201,7 +201,6 @@ struct bt_csis_client_set { struct bt_csis_client_set_member { struct bt_conn *conn; - bt_addr_le_t addr; struct bt_csis_client_set sets[BT_CSIS_CLIENT_MAX_CSIS_INSTANCES]; }; diff --git a/subsys/bluetooth/shell/csis_client.c b/subsys/bluetooth/shell/csis_client.c index 7ec7d7b2638..59af4e71fec 100644 --- a/subsys/bluetooth/shell/csis_client.c +++ b/subsys/bluetooth/shell/csis_client.c @@ -26,12 +26,13 @@ static uint8_t members_found; static struct k_work_delayable discover_members_timer; static struct bt_csis_client_set_member set_members[CONFIG_BT_MAX_CONN]; struct bt_csis_client_set *cur_set; +static bt_addr_le_t addr_found[CONFIG_BT_MAX_CONN]; const struct bt_csis_client_set_member *locked_members[CONFIG_BT_MAX_CONN]; static bool is_discovered(const bt_addr_le_t *addr) { for (int i = 0; i < members_found; i++) { - if (bt_addr_le_cmp(addr, &set_members[i].addr) == 0) { + if (bt_addr_le_cmp(addr, &addr_found[i]) == 0) { return true; } } @@ -58,14 +59,14 @@ static void connected_cb(struct bt_conn *conn, uint8_t err) if (members_found == 0) { shell_print(ctx_shell, "Assuming member[0] connected"); set_members[0].conn = conn; - bt_addr_le_copy(&set_members[0].addr, bt_conn_get_dst(conn)); + bt_addr_le_copy(&addr_found[0], bt_conn_get_dst(conn)); members_found = 1; return; } for (uint8_t i = 0; i < members_found; i++) { if (bt_addr_le_cmp(bt_conn_get_dst(conn), - &set_members[i].addr) == 0) { + &addr_found[i]) == 0) { set_members[i].conn = conn; shell_print(ctx_shell, "Member[%u] connected", i); return; @@ -173,7 +174,7 @@ static bool csis_found(struct bt_data *data, void *user_data) return false; } - bt_addr_le_copy(&set_members[members_found++].addr, addr); + bt_addr_le_copy(&addr_found[members_found++], addr); shell_print(ctx_shell, "Found member (%u / %u)", members_found, cur_set->set_size); diff --git a/tests/bluetooth/bsim_bt/bsim_test_audio/src/csis_client_test.c b/tests/bluetooth/bsim_bt/bsim_test_audio/src/csis_client_test.c index eaf67331b05..b8ad39d8a4c 100644 --- a/tests/bluetooth/bsim_bt/bsim_test_audio/src/csis_client_test.c +++ b/tests/bluetooth/bsim_bt/bsim_test_audio/src/csis_client_test.c @@ -5,6 +5,7 @@ * SPDX-License-Identifier: Apache-2.0 */ #ifdef CONFIG_BT_CSIS_CLIENT +#include #include #include "common.h" @@ -19,6 +20,7 @@ static struct bt_csis_client_set *set; static uint8_t members_found; static struct k_work_delayable discover_members_timer; +static bt_addr_le_t addr_found[CONFIG_BT_MAX_CONN]; static struct bt_csis_client_set_member set_members[CONFIG_BT_MAX_CONN]; static void csis_client_lock_set_cb(int err); @@ -115,7 +117,7 @@ static struct bt_csis_client_cb cbs = { static bool is_discovered(const bt_addr_le_t *addr) { for (int i = 0; i < members_found; i++) { - if (bt_addr_le_cmp(addr, &set_members[i].addr) == 0) { + if (bt_addr_le_cmp(addr, &addr_found[i]) == 0) { return true; } } @@ -137,7 +139,7 @@ static bool csis_found(struct bt_data *data, void *user_data) return false; } - bt_addr_le_copy(&set_members[members_found++].addr, addr); + bt_addr_le_copy(&addr_found[members_found++], addr); printk("Found member (%u / %u)\n", members_found, set->set_size); @@ -157,7 +159,7 @@ static void csis_client_scan_recv(const struct bt_le_scan_recv_info *info, if (set == NULL) { /* Scanning for the first device */ if (members_found == 0) { - bt_addr_le_copy(&set_members[members_found++].addr, + bt_addr_le_copy(&addr_found[members_found++], info->addr); } } else { /* Scanning for set members */ @@ -214,8 +216,8 @@ static void test_main(void) return; } - bt_addr_le_to_str(&set_members[0].addr, addr, sizeof(addr)); - err = bt_conn_le_create(&set_members[0].addr, BT_CONN_LE_CREATE_CONN, + bt_addr_le_to_str(&addr_found[0], addr, sizeof(addr)); + err = bt_conn_le_create(&addr_found[0], BT_CONN_LE_CREATE_CONN, BT_LE_CONN_PARAM_DEFAULT, &set_members[0].conn); if (err != 0) { FAIL("Failed to connect to %s: %d\n", err); @@ -266,11 +268,11 @@ static void test_main(void) } for (uint8_t i = 1; i < members_found; i++) { - bt_addr_le_to_str(&set_members[i].addr, addr, sizeof(addr)); + bt_addr_le_to_str(&addr_found[i], addr, sizeof(addr)); is_connected = false; printk("Connecting to member[%d] (%s)", i, addr); - err = bt_conn_le_create(&set_members[i].addr, + err = bt_conn_le_create(&addr_found[i], BT_CONN_LE_CREATE_CONN, BT_LE_CONN_PARAM_DEFAULT, &set_members[i].conn);