Message ID | 20210817223437.411624-1-hj.tedd.an@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [BlueZ,v9,1/2] emulator: Add support to config the white and resolve list | expand |
This is automated email and please do not reply to this email! Dear submitter, Thank you for submitting the patches to the linux bluetooth mailing list. This is a CI test results with your patch series: PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=533005 ---Test result--- Test Summary: CheckPatch FAIL 2.46 seconds GitLint PASS 0.27 seconds Prep - Setup ELL PASS 51.09 seconds Build - Prep PASS 0.15 seconds Build - Configure PASS 9.10 seconds Build - Make FAIL 80.65 seconds Make Check FAIL 0.86 seconds Make Distcheck FAIL 148.70 seconds Build w/ext ELL - Configure PASS 9.02 seconds Build w/ext ELL - Make FAIL 67.13 seconds Details ############################## Test: CheckPatch - FAIL Desc: Run checkpatch.pl script with rule in .checkpatch.conf Output: tools/mgmt-tester: Add LL Privacy test cases WARNING:LONG_LINE: line length of 81 exceeds 80 columns #371: FILE: emulator/hciemu.h:67: +const uint8_t *hciemu_get_master_adv_addr(struct hciemu *hciemu, uint8_t handle); - total: 0 errors, 1 warnings, 2324 lines checked NOTE: For some of the reported defects, checkpatch may be able to mechanically convert to the typical style using --fix or --fix-inplace. "[PATCH] tools/mgmt-tester: Add LL Privacy test cases" has style problems, please review. NOTE: Ignored message types: COMMIT_MESSAGE COMPLEX_MACRO CONST_STRUCT FILE_PATH_CHANGES MISSING_SIGN_OFF PREFER_PACKED SPDX_LICENSE_TAG SPLIT_STRING SSCANF_TO_KSTRTO NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS. ############################## Test: GitLint - PASS Desc: Run gitlint with rule in .gitlint ############################## Test: Prep - Setup ELL - PASS Desc: Clone, build, and install ELL ############################## Test: Build - Prep - PASS Desc: Prepare environment for build ############################## Test: Build - Configure - PASS Desc: Configure the BlueZ source tree ############################## Test: Build - Make - FAIL Desc: Build the BlueZ source tree Output: emulator/bthost.c: In function ‘evt_le_ext_adv_report’: emulator/bthost.c:1350:3: error: implicit declaration of function ‘bthost_debug’; did you mean ‘bthost_set_debug’? [-Werror=implicit-function-declaration] 1350 | bthost_debug(bthost, "le ext adv report: %s (0x%02x)", | ^~~~~~~~~~~~ | bthost_set_debug cc1: all warnings being treated as errors make[1]: *** [Makefile:6955: emulator/bthost.o] Error 1 make: *** [Makefile:4147: all] Error 2 ############################## Test: Make Check - FAIL Desc: Run 'make check' Output: emulator/bthost.c: In function ‘evt_le_ext_adv_report’: emulator/bthost.c:1350:3: error: implicit declaration of function ‘bthost_debug’; did you mean ‘bthost_set_debug’? [-Werror=implicit-function-declaration] 1350 | bthost_debug(bthost, "le ext adv report: %s (0x%02x)", | ^~~~~~~~~~~~ | bthost_set_debug cc1: all warnings being treated as errors make[1]: *** [Makefile:6955: emulator/bthost.o] Error 1 make: *** [Makefile:10436: check] Error 2 ############################## Test: Make Distcheck - FAIL Desc: Run distcheck to check the distribution Output: ../../emulator/bthost.c: In function ‘evt_le_ext_adv_report’: ../../emulator/bthost.c:1350:3: warning: implicit declaration of function ‘bthost_debug’; did you mean ‘bthost_set_debug’? [-Wimplicit-function-declaration] 1350 | bthost_debug(bthost, "le ext adv report: %s (0x%02x)", | ^~~~~~~~~~~~ | bthost_set_debug /usr/bin/ld: emulator/android_android_tester-bthost.o: in function `evt_le_ext_adv_report': /github/workspace/src/bluez-5.60/_build/sub/../../emulator/bthost.c:1350: undefined reference to `bthost_debug' collect2: error: ld returned 1 exit status make[2]: *** [Makefile:4784: android/android-tester] Error 1 make[1]: *** [Makefile:4147: all] Error 2 make: *** [Makefile:10357: distcheck] Error 1 ############################## Test: Build w/ext ELL - Configure - PASS Desc: Configure BlueZ source with '--enable-external-ell' configuration ############################## Test: Build w/ext ELL - Make - FAIL Desc: Build BlueZ source with '--enable-external-ell' configuration Output: emulator/bthost.c: In function ‘evt_le_ext_adv_report’: emulator/bthost.c:1350:3: error: implicit declaration of function ‘bthost_debug’; did you mean ‘bthost_set_debug’? [-Werror=implicit-function-declaration] 1350 | bthost_debug(bthost, "le ext adv report: %s (0x%02x)", | ^~~~~~~~~~~~ | bthost_set_debug cc1: all warnings being treated as errors make[1]: *** [Makefile:6955: emulator/bthost.o] Error 1 make: *** [Makefile:4147: all] Error 2 --- Regards, Linux Bluetooth
diff --git a/emulator/btdev.c b/emulator/btdev.c index f8daf4587..a197e4917 100644 --- a/emulator/btdev.c +++ b/emulator/btdev.c @@ -33,8 +33,8 @@ #include "monitor/bt.h" #include "btdev.h" -#define WL_SIZE 16 -#define RL_SIZE 16 +#define WL_SIZE 3 +#define RL_SIZE 4 #define CIS_SIZE 3 #define has_bredr(btdev) (!((btdev)->features[4] & 0x20)) @@ -191,6 +191,10 @@ struct btdev { } __attribute__ ((packed)) le_cig; uint8_t le_iso_path[2]; + /* Real time length of WL array */ + uint8_t le_wl_len; + /* Real time length of RL array */ + uint8_t le_rl_len; struct btdev_wl le_wl[WL_SIZE]; struct btdev_rl le_rl[RL_SIZE]; uint8_t le_rl_enable; @@ -475,6 +479,18 @@ static void rl_clear(struct btdev *dev) rl_reset(&dev->le_rl[i]); } +/* Set the real time length of WL array */ +void btdev_set_wl_len(struct btdev *btdev, uint8_t len) +{ + btdev->le_wl_len = len; +} + +/* Set the real time length of RL array */ +void btdev_set_rl_len(struct btdev *btdev, uint8_t len) +{ + btdev->le_rl_len = len; +} + static void btdev_reset(struct btdev *btdev) { /* FIXME: include here clearing of all states that should be @@ -486,6 +502,9 @@ static void btdev_reset(struct btdev *btdev) wl_clear(btdev); rl_clear(btdev); + + btdev->le_wl_len = WL_SIZE; + btdev->le_rl_len = RL_SIZE; } static int cmd_reset(struct btdev *dev, const void *data, uint8_t len) @@ -3515,7 +3534,7 @@ static int cmd_read_wl_size(struct btdev *dev, const void *data, uint8_t len) struct bt_hci_rsp_le_read_white_list_size rsp; rsp.status = BT_HCI_ERR_SUCCESS; - rsp.size = WL_SIZE; + rsp.size = dev->le_wl_len; cmd_complete(dev, BT_HCI_CMD_LE_READ_WHITE_LIST_SIZE, &rsp, sizeof(rsp)); @@ -3602,7 +3621,7 @@ static int cmd_add_wl(struct btdev *dev, const void *data, uint8_t len) if (cmd->addr_type > 0x01) return -EINVAL; - for (i = 0; i < WL_SIZE; i++) { + for (i = 0; i < dev->le_wl_len; i++) { struct btdev_wl *wl = &dev->le_wl[i]; if (WL_ADDR_EQUAL(wl, cmd->addr_type, &cmd->addr)) { @@ -3653,7 +3672,7 @@ static int cmd_remove_wl(struct btdev *dev, const void *data, uint8_t len) if (cmd->addr_type > 0x01) return -EINVAL; - for (i = 0; i < WL_SIZE; i++) { + for (i = 0; i < dev->le_wl_len; i++) { struct btdev_wl *wl = &dev->le_wl[i]; ba2str(&wl->addr, addr); @@ -3668,7 +3687,7 @@ static int cmd_remove_wl(struct btdev *dev, const void *data, uint8_t len) } } - if (i == WL_SIZE) + if (i == dev->le_wl_len) return -EINVAL; status = BT_HCI_ERR_SUCCESS; @@ -3699,7 +3718,7 @@ static int cmd_add_rl(struct btdev *dev, const void *data, uint8_t len) if (cmd->addr_type > 0x01) return -EINVAL; - for (i = 0; i < RL_SIZE; i++) { + for (i = 0; i < dev->le_rl_len; i++) { struct btdev_rl *rl = &dev->le_rl[i]; if (RL_ADDR_EQUAL(rl, cmd->addr_type, &cmd->addr)) { @@ -3750,7 +3769,7 @@ static int cmd_remove_rl(struct btdev *dev, const void *data, uint8_t len) if (cmd->addr_type > 0x01) return -EINVAL; - for (i = 0; i < RL_SIZE; i++) { + for (i = 0; i < dev->le_rl_len; i++) { struct btdev_rl *rl = &dev->le_rl[i]; if (RL_ADDR_EQUAL(rl, cmd->addr_type, &cmd->addr)) { @@ -3759,7 +3778,7 @@ static int cmd_remove_rl(struct btdev *dev, const void *data, uint8_t len) } } - if (i == RL_SIZE) + if (i == dev->le_rl_len) return -EINVAL; status = BT_HCI_ERR_SUCCESS; @@ -3797,7 +3816,7 @@ static int cmd_read_rl_size(struct btdev *dev, const void *data, uint8_t len) struct bt_hci_rsp_le_read_resolv_list_size rsp; rsp.status = BT_HCI_ERR_SUCCESS; - rsp.size = RL_SIZE; + rsp.size = dev->le_rl_len; cmd_complete(dev, BT_HCI_CMD_LE_READ_RESOLV_LIST_SIZE, &rsp, sizeof(rsp)); @@ -6236,6 +6255,8 @@ struct btdev *btdev_create(enum btdev_type type, uint16_t id) btdev->conns = queue_new(); btdev->le_ext_adv = queue_new(); + btdev->le_wl_len = WL_SIZE; + btdev->le_rl_len = RL_SIZE; return btdev; } diff --git a/emulator/btdev.h b/emulator/btdev.h index f7cba149a..b427a3a66 100644 --- a/emulator/btdev.h +++ b/emulator/btdev.h @@ -80,6 +80,10 @@ uint8_t btdev_get_le_scan_enable(struct btdev *btdev); void btdev_set_le_states(struct btdev *btdev, const uint8_t *le_states); +void btdev_set_wl_len(struct btdev *btdev, uint8_t len); + +void btdev_set_rl_len(struct btdev *btdev, uint8_t len); + void btdev_set_command_handler(struct btdev *btdev, btdev_command_func handler, void *user_data); diff --git a/emulator/hciemu.c b/emulator/hciemu.c index fe5ef747a..ec60b7cea 100644 --- a/emulator/hciemu.c +++ b/emulator/hciemu.c @@ -580,6 +580,22 @@ void hciemu_set_master_le_states(struct hciemu *hciemu, const uint8_t *le_states btdev_set_le_states(hciemu->dev, le_states); } +void hciemu_set_master_le_wl_len(struct hciemu *hciemu, uint8_t len) +{ + if (!hciemu || !hciemu->dev) + return; + + btdev_set_wl_len(hciemu->dev, len); +} + +void hciemu_set_master_le_rl_len(struct hciemu *hciemu, uint8_t len) +{ + if (!hciemu || !hciemu->dev) + return; + + btdev_set_rl_len(hciemu->dev, len); +} + bool hciemu_add_master_post_command_hook(struct hciemu *hciemu, hciemu_command_func_t function, void *user_data) { diff --git a/emulator/hciemu.h b/emulator/hciemu.h index 8bf2d070e..4a89b8d59 100644 --- a/emulator/hciemu.h +++ b/emulator/hciemu.h @@ -60,6 +60,10 @@ uint8_t hciemu_get_master_le_scan_enable(struct hciemu *hciemu); void hciemu_set_master_le_states(struct hciemu *hciemu, const uint8_t *le_states); +void hciemu_set_master_le_wl_len(struct hciemu *hciemu, uint8_t len); + +void hciemu_set_master_le_rl_len(struct hciemu *hciemu, uint8_t len); + typedef void (*hciemu_command_func_t)(uint16_t opcode, const void *data, uint8_t len, void *user_data);
From: Tedd Ho-Jeong An <tedd.an@intel.com> This patch adds interfaces to config the white list and resolve list in the btdev. --- emulator/btdev.c | 41 +++++++++++++++++++++++++++++++---------- emulator/btdev.h | 4 ++++ emulator/hciemu.c | 16 ++++++++++++++++ emulator/hciemu.h | 4 ++++ 4 files changed, 55 insertions(+), 10 deletions(-)