diff mbox series

[RFC,BlueZ,v13,1/5] emulator: Add support to config the accept and resolve list

Message ID 20211021174804.340160-1-hj.tedd.an@gmail.com (mailing list archive)
State Superseded
Headers show
Series [RFC,BlueZ,v13,1/5] emulator: Add support to config the accept and resolve list | expand

Checks

Context Check Description
tedd_an/checkpatch success Checkpatch PASS
tedd_an/gitlint success Gitlint PASS
tedd_an/setupell success Setup ELL PASS
tedd_an/buildprep success Build Prep PASS
tedd_an/build success Build Configuration PASS
tedd_an/makecheck success Make Check PASS
tedd_an/makedistcheck success Make Distcheck PASS
tedd_an/build_extell success Build External ELL PASS
tedd_an/build_extell_make success Build Make with External ELL PASS

Commit Message

Tedd Ho-Jeong An Oct. 21, 2021, 5:48 p.m. UTC
From: Tedd Ho-Jeong An <tedd.an@intel.com>

This patch adds interfaces to config the accept list and resolve list in
the btdev.
---
 emulator/btdev.c  | 37 +++++++++++++++++++++++++++++--------
 emulator/btdev.h  |  4 ++++
 emulator/hciemu.c | 28 ++++++++++++++++++++++++++++
 emulator/hciemu.h |  4 ++++
 4 files changed, 65 insertions(+), 8 deletions(-)

Comments

bluez.test.bot@gmail.com Oct. 21, 2021, 6:41 p.m. UTC | #1
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=568051

---Test result---

Test Summary:
CheckPatch                    FAIL      9.57 seconds
GitLint                       FAIL      6.29 seconds
Prep - Setup ELL              PASS      47.30 seconds
Build - Prep                  PASS      0.52 seconds
Build - Configure             PASS      8.82 seconds
Build - Make                  PASS      206.58 seconds
Make Check                    PASS      9.77 seconds
Make Distcheck                PASS      247.59 seconds
Build w/ext ELL - Configure   PASS      9.62 seconds
Build w/ext ELL - Make        PASS      197.36 seconds

Details
##############################
Test: CheckPatch - FAIL
Desc: Run checkpatch.pl script with rule in .checkpatch.conf
Output:
[RFC,BlueZ,v13,5/5] tools/mgmt-tester: Add LL Privacy test cases
ERROR:SPACING: space prohibited before that ',' (ctx:WxW)
#756: FILE: tools/mgmt-tester.c:10115:
+					MGMT_OP_SET_EXP_FEATURE , 0 };
 					                        ^

WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#1232: FILE: tools/mgmt-tester.c:10589:
+// ^Istruct test_data *data = tester_get_data();$

WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#1233: FILE: tools/mgmt-tester.c:10590:
+// ^Iunsigned char param[] = { 0x01 };$

WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#1234: FILE: tools/mgmt-tester.c:10591:
+// ^Iconst uint8_t *ext_feat_param;$

WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#1235: FILE: tools/mgmt-tester.c:10592:
+// ^Isize_t ext_feat_len;$

WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#1236: FILE: tools/mgmt-tester.c:10593:
+// ^Iunsigned char privacy_param[] = { 0x01,$

WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#1237: FILE: tools/mgmt-tester.c:10594:
+// ^I^I^I0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,$

WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#1238: FILE: tools/mgmt-tester.c:10595:
+// ^I^I^I0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08 };$

WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#1240: FILE: tools/mgmt-tester.c:10597:
+// ^Itester_print("Enabling LL Privacy feature");$

WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#1242: FILE: tools/mgmt-tester.c:10599:
+// ^Iext_feat_param = set_exp_feat_param_ll_privacy;$

WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#1243: FILE: tools/mgmt-tester.c:10600:
+// ^Iext_feat_len = sizeof(set_exp_feat_param_ll_privacy);$

WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#1245: FILE: tools/mgmt-tester.c:10602:
+// ^Imgmt_send(data->mgmt, MGMT_OP_SET_LE, data->mgmt_index,$

WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#1246: FILE: tools/mgmt-tester.c:10603:
+// ^I^I^I^I^Isizeof(param), &param,$

WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#1247: FILE: tools/mgmt-tester.c:10604:
+// ^I^I^I^I^INULL, NULL, NULL);$

WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#1249: FILE: tools/mgmt-tester.c:10606:
+// ^Imgmt_send(data->mgmt, MGMT_OP_SET_PRIVACY, data->mgmt_index,$

WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#1250: FILE: tools/mgmt-tester.c:10607:
+// ^I^I^I^I^Isizeof(privacy_param), privacy_param,$

WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#1251: FILE: tools/mgmt-tester.c:10608:
+// ^I^I^I^I^INULL, NULL, NULL);$

WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#1253: FILE: tools/mgmt-tester.c:10610:
+// ^Imgmt_send(data->mgmt, MGMT_OP_SET_EXP_FEATURE, data->mgmt_index,$

WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#1254: FILE: tools/mgmt-tester.c:10611:
+// ^I^I^I^I^Iext_feat_len, ext_feat_param,$

WARNING:SPACE_BEFORE_TAB: please, no space before tabs
#1255: FILE: tools/mgmt-tester.c:10612:
+// ^I^I^I^I^Isetup_exp_feat_callback, NULL, NULL);$

/github/workspace/src/12575969.patch total: 1 errors, 19 warnings, 2188 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.

/github/workspace/src/12575969.patch 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 - FAIL
Desc: Run gitlint with rule in .gitlint
Output:
[RFC,BlueZ,v13,4/5] tools/mgmt-tester: Add support for experimental feature in setup
1: T1 Title exceeds max length (84>80): "[RFC,BlueZ,v13,4/5] tools/mgmt-tester: Add support for experimental feature in setup"




---
Regards,
Linux Bluetooth
diff mbox series

Patch

diff --git a/emulator/btdev.c b/emulator/btdev.c
index f28187362..bf6a03e59 100644
--- a/emulator/btdev.c
+++ b/emulator/btdev.c
@@ -196,6 +196,10 @@  struct btdev {
 	} __attribute__ ((packed)) le_cig;
 	uint8_t  le_iso_path[2];
 
+	/* Real time length of AL array */
+	uint8_t le_al_len;
+	/* Real time length of RL array */
+	uint8_t le_rl_len;
 	struct btdev_al le_al[AL_SIZE];
 	struct btdev_rl le_rl[RL_SIZE];
 	uint8_t  le_rl_enable;
@@ -480,6 +484,18 @@  static void rl_clear(struct btdev *dev)
 		rl_reset(&dev->le_rl[i]);
 }
 
+/* Set the real time length of AL array */
+void btdev_set_al_len(struct btdev *btdev, uint8_t len)
+{
+	btdev->le_al_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
@@ -491,6 +507,9 @@  static void btdev_reset(struct btdev *btdev)
 
 	al_clear(btdev);
 	rl_clear(btdev);
+
+	btdev->le_al_len = AL_SIZE;
+	btdev->le_rl_len = RL_SIZE;
 }
 
 static int cmd_reset(struct btdev *dev, const void *data, uint8_t len)
@@ -3576,7 +3595,7 @@  static int cmd_read_al_size(struct btdev *dev, const void *data, uint8_t len)
 	struct bt_hci_rsp_le_read_accept_list_size rsp;
 
 	rsp.status = BT_HCI_ERR_SUCCESS;
-	rsp.size = AL_SIZE;
+	rsp.size = dev->le_al_len;
 	cmd_complete(dev, BT_HCI_CMD_LE_READ_ACCEPT_LIST_SIZE, &rsp,
 						sizeof(rsp));
 
@@ -3663,7 +3682,7 @@  static int cmd_add_al(struct btdev *dev, const void *data, uint8_t len)
 	if (cmd->addr_type > 0x01)
 		return -EINVAL;
 
-	for (i = 0; i < AL_SIZE; i++) {
+	for (i = 0; i < dev->le_al_len; i++) {
 		struct btdev_al *al = &dev->le_al[i];
 
 		if (AL_ADDR_EQUAL(al, cmd->addr_type, &cmd->addr)) {
@@ -3714,7 +3733,7 @@  static int cmd_remove_al(struct btdev *dev, const void *data, uint8_t len)
 	if (cmd->addr_type > 0x01)
 		return -EINVAL;
 
-	for (i = 0; i < AL_SIZE; i++) {
+	for (i = 0; i < dev->le_al_len; i++) {
 		struct btdev_al *al = &dev->le_al[i];
 
 		ba2str(&al->addr, addr);
@@ -3729,7 +3748,7 @@  static int cmd_remove_al(struct btdev *dev, const void *data, uint8_t len)
 		}
 	}
 
-	if (i == AL_SIZE)
+	if (i == dev->le_al_len)
 		return -EINVAL;
 
 	status = BT_HCI_ERR_SUCCESS;
@@ -3760,7 +3779,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)) {
@@ -3811,7 +3830,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)) {
@@ -3820,7 +3839,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;
@@ -3858,7 +3877,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));
@@ -6299,6 +6318,8 @@  struct btdev *btdev_create(enum btdev_type type, uint16_t id)
 	btdev->conns = queue_new();
 	btdev->le_ext_adv = queue_new();
 
+	btdev->le_al_len = AL_SIZE;
+	btdev->le_rl_len = RL_SIZE;
 	return btdev;
 }
 
diff --git a/emulator/btdev.h b/emulator/btdev.h
index 412bfd158..b5f9979a8 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_al_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 4752c8a4d..1f7af3b93 100644
--- a/emulator/hciemu.c
+++ b/emulator/hciemu.c
@@ -601,6 +601,34 @@  void hciemu_set_central_le_states(struct hciemu *hciemu,
 	btdev_set_le_states(dev, le_states);
 }
 
+void hciemu_set_central_le_al_len(struct hciemu *hciemu, uint8_t len)
+{
+	struct btdev *dev;
+
+	if (!hciemu || !hciemu->vhci)
+		return;
+
+	dev = vhci_get_btdev(hciemu->vhci);
+	if (!dev)
+		return;
+
+	btdev_set_al_len(dev, len);
+}
+
+void hciemu_set_central_le_rl_len(struct hciemu *hciemu, uint8_t len)
+{
+	struct btdev *dev;
+
+	if (!hciemu || !hciemu->vhci)
+		return;
+
+	dev = vhci_get_btdev(hciemu->vhci);
+	if (!dev)
+		return;
+
+	btdev_set_rl_len(dev, len);
+}
+
 bool hciemu_add_central_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 338fa844d..2a49d8bad 100644
--- a/emulator/hciemu.h
+++ b/emulator/hciemu.h
@@ -61,6 +61,10 @@  uint8_t hciemu_get_central_le_scan_enable(struct hciemu *hciemu);
 void hciemu_set_central_le_states(struct hciemu *hciemu,
 						const uint8_t *le_states);
 
+void hciemu_set_central_le_al_len(struct hciemu *hciemu, uint8_t len);
+
+void hciemu_set_central_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);