diff mbox series

[BlueZ,1/2] monitor: Fix not printing latency information with -r

Message ID 20230816223147.2787284-1-luiz.dentz@gmail.com (mailing list archive)
State Accepted
Commit 31941ff3977c4764d7fcc6df20971f4ab601e38f
Headers show
Series [BlueZ,1/2] monitor: Fix not printing latency information with -r | expand

Checks

Context Check Description
tedd_an/pre-ci_am success Success
tedd_an/CheckPatch warning WARNING:REPEATED_WORD: Possible repeated word: 'use' #83: information so assign_handle can use use the parent (ACL) destination. /github/workspace/src/src/13355745.patch total: 0 errors, 1 warnings, 85 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/src/13355745.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.
tedd_an/GitLint success Gitlint PASS
tedd_an/BuildEll success Build ELL PASS
tedd_an/BluezMake success Bluez Make PASS
tedd_an/MakeCheck success Bluez Make Check PASS
tedd_an/MakeDistcheck success Make Distcheck PASS
tedd_an/CheckValgrind success Check Valgrind PASS
tedd_an/CheckSmatch warning CheckSparse WARNING monitor/packet.c: note: in included file:monitor/display.h:82:26: warning: Variable length array is used.monitor/packet.c:1856:26: warning: Variable length array is used.monitor/packet.c: note: in included file:monitor/bt.h:3606:52: warning: array of flexible structuresmonitor/bt.h:3594:40: warning: array of flexible structures
tedd_an/bluezmakeextell success Make External ELL PASS
tedd_an/IncrementalBuild success Incremental Build PASS
tedd_an/ScanBuild success Scan Build PASS

Commit Message

Luiz Augusto von Dentz Aug. 16, 2023, 10:31 p.m. UTC
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>

When reading a log from file hci_devba may not work, also store link
information so assign_handle can use use the parent (ACL) destination.
---
 monitor/packet.c | 40 +++++++++++++++++++++++++++++++++++++---
 monitor/packet.h |  1 +
 2 files changed, 38 insertions(+), 3 deletions(-)

Comments

bluez.test.bot@gmail.com Aug. 17, 2023, 12:35 a.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=776802

---Test result---

Test Summary:
CheckPatch                    FAIL      1.15 seconds
GitLint                       PASS      0.50 seconds
BuildEll                      PASS      32.17 seconds
BluezMake                     PASS      999.21 seconds
MakeCheck                     PASS      13.26 seconds
MakeDistcheck                 PASS      186.01 seconds
CheckValgrind                 PASS      304.34 seconds
CheckSmatch                   WARNING   405.71 seconds
bluezmakeextell               PASS      123.19 seconds
IncrementalBuild              PASS      1632.94 seconds
ScanBuild                     PASS      1243.22 seconds

Details
##############################
Test: CheckPatch - FAIL
Desc: Run checkpatch.pl script
Output:
[BlueZ,1/2] monitor: Fix not printing latency information with -r
WARNING:REPEATED_WORD: Possible repeated word: 'use'
#83: 
information so assign_handle can use use the parent (ACL) destination.

/github/workspace/src/src/13355745.patch total: 0 errors, 1 warnings, 85 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/src/13355745.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: CheckSmatch - WARNING
Desc: Run smatch tool with source
Output:
monitor/packet.c: note: in included file:monitor/display.h:82:26: warning: Variable length array is used.monitor/packet.c:1856:26: warning: Variable length array is used.monitor/packet.c: note: in included file:monitor/bt.h:3606:52: warning: array of flexible structuresmonitor/bt.h:3594:40: warning: array of flexible structures


---
Regards,
Linux Bluetooth
patchwork-bot+bluetooth@kernel.org Aug. 17, 2023, 7:50 p.m. UTC | #2
Hello:

This series was applied to bluetooth/bluez.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>:

On Wed, 16 Aug 2023 15:31:46 -0700 you wrote:
> From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
> 
> When reading a log from file hci_devba may not work, also store link
> information so assign_handle can use use the parent (ACL) destination.
> ---
>  monitor/packet.c | 40 +++++++++++++++++++++++++++++++++++++---
>  monitor/packet.h |  1 +
>  2 files changed, 38 insertions(+), 3 deletions(-)

Here is the summary with links:
  - [BlueZ,1/2] monitor: Fix not printing latency information with -r
    https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=31941ff3977c
  - [BlueZ,2/2] monitor: Detect LE-ACL connections
    https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=aed756136b7f

You are awesome, thank you!
diff mbox series

Patch

diff --git a/monitor/packet.c b/monitor/packet.c
index 84af03a0011f..8eae8c9ea8fa 100644
--- a/monitor/packet.c
+++ b/monitor/packet.c
@@ -174,6 +174,18 @@  static uint16_t get_format(uint32_t cookie)
 
 static struct packet_conn_data conn_list[MAX_CONN];
 
+static struct packet_conn_data *lookup_parent(uint16_t handle)
+{
+	int i;
+
+	for (i = 0; i < MAX_CONN; i++) {
+		if (conn_list[i].link == handle)
+			return &conn_list[i];
+	}
+
+	return NULL;
+}
+
 static void assign_handle(uint16_t index, uint16_t handle, uint8_t type,
 					uint8_t *dst, uint8_t dst_type)
 {
@@ -181,15 +193,27 @@  static void assign_handle(uint16_t index, uint16_t handle, uint8_t type,
 
 	for (i = 0; i < MAX_CONN; i++) {
 		if (conn_list[i].handle == 0x0000) {
-			if (hci_devba(index, (bdaddr_t *)conn_list[i].src) < 0)
-				return;
+			hci_devba(index, (bdaddr_t *)conn_list[i].src);
 
 			conn_list[i].index = index;
 			conn_list[i].handle = handle;
 			conn_list[i].type = type;
 
-			if (!dst)
+			if (!dst) {
+				struct packet_conn_data *p;
+
+				/* If destination is not set attempt to use the
+				 * parent one if that exists.
+				 */
+				p = lookup_parent(handle);
+				if (p) {
+					memcpy(conn_list[i].dst, p->dst,
+						sizeof(conn_list[i].dst));
+					conn_list[i].dst_type = p->dst_type;
+				}
+
 				break;
+			}
 
 			memcpy(conn_list[i].dst, dst, sizeof(conn_list[i].dst));
 			conn_list[i].dst_type = dst_type;
@@ -8725,9 +8749,14 @@  static void le_set_cig_params_rsp(uint16_t index, const void *data,
 static void print_cis(const void *data, int i)
 {
 	const struct bt_hci_cis *cis = data;
+	struct packet_conn_data *conn;
 
 	print_field("CIS Handle: %d", cis->cis_handle);
 	print_field("ACL Handle: %d", cis->acl_handle);
+
+	conn = packet_get_conn_data(cis->acl_handle);
+	if (conn)
+		conn->link = cis->cis_handle;
 }
 
 static void le_create_cis_cmd(uint16_t index, const void *data, uint8_t size)
@@ -11643,11 +11672,16 @@  static void le_req_cis_evt(struct timeval *tv, uint16_t index,
 					const void *data, uint8_t size)
 {
 	const struct bt_hci_evt_le_cis_req *evt = data;
+	struct packet_conn_data *conn;
 
 	print_field("ACL Handle: %d", le16_to_cpu(evt->acl_handle));
 	print_field("CIS Handle: %d", le16_to_cpu(evt->cis_handle));
 	print_field("CIG ID: 0x%2.2x", evt->cig_id);
 	print_field("CIS ID: 0x%2.2x", evt->cis_id);
+
+	conn = packet_get_conn_data(evt->acl_handle);
+	if (conn)
+		conn->link = evt->cis_handle;
 }
 
 static void print_bis_handle(const void *data, int i)
diff --git a/monitor/packet.h b/monitor/packet.h
index 750ce405e4bc..384f460d2f58 100644
--- a/monitor/packet.h
+++ b/monitor/packet.h
@@ -42,6 +42,7 @@  struct packet_conn_data {
 	uint16_t index;
 	uint8_t  src[6];
 	uint16_t handle;
+	uint16_t link;
 	uint8_t  type;
 	uint8_t  dst[6];
 	uint8_t  dst_type;