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.
Signed-off-by: Manika Shrivastava <manika.sh@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
{
struct att_conn_data *data = conn->data;
char filename[PATH_MAX];
- bdaddr_t src;
char local[18];
char peer[18];
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)) {
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;
struct packet_conn_data {
uint16_t index;
+ uint8_t src[6];
uint16_t handle;
uint8_t type;
uint8_t dst[6];