[PATCH BlueZ] monitor: Stop spamming logs when GATT db cannot be loaded

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx>

This stops calling hci_devba everytime the GATT db needs to be loaded
since that causes a raw socket to be open to read back the address
pointed by the index, instead this is done only once at assign_handle
and store in packet_conn_data.
---
 monitor/att.c    | 6 +-----
 monitor/packet.c | 3 +++
 monitor/packet.h | 1 +
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/monitor/att.c b/monitor/att.c
index 152a5f320..00db8ddaa 100644
--- a/monitor/att.c
+++ b/monitor/att.c
@@ -1228,7 +1228,6 @@ static void load_gatt_db(struct packet_conn_data *conn)
 {
 	struct att_conn_data *data = conn->data;
 	char filename[PATH_MAX];
-	bdaddr_t src;
 	char local[18];
 	char peer[18];
 
@@ -1243,10 +1242,7 @@ static void load_gatt_db(struct packet_conn_data *conn)
 	if (!gatt_db_isempty(data->ldb) && !gatt_db_isempty(data->rdb))
 		return;
 
-	if (hci_devba(conn->index, &src) < 0)
-		return;
-
-	ba2str(&src, local);
+	ba2str((bdaddr_t *)conn->src, local);
 	ba2str((bdaddr_t *)conn->dst, peer);
 
 	if (gatt_db_isempty(data->ldb)) {
diff --git a/monitor/packet.c b/monitor/packet.c
index c7739fba5..bd9efd2c7 100644
--- a/monitor/packet.c
+++ b/monitor/packet.c
@@ -178,6 +178,9 @@ 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;
+
 			conn_list[i].index = index;
 			conn_list[i].handle = handle;
 			conn_list[i].type = type;
diff --git a/monitor/packet.h b/monitor/packet.h
index 97d683e3a..3a6b9f7a1 100644
--- a/monitor/packet.h
+++ b/monitor/packet.h
@@ -25,6 +25,7 @@
 
 struct packet_conn_data {
 	uint16_t index;
+	uint8_t  src[6];
 	uint16_t handle;
 	uint8_t  type;
 	uint8_t  dst[6];
-- 
2.35.1




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux