Remove unnecessary btd_adapter_get_remote_version function
diff --git a/plugins/hciops.c b/plugins/hciops.c
index 412eb8d..26b830e 100644
--- a/plugins/hciops.c
+++ b/plugins/hciops.c
@@ -1661,19 +1661,46 @@
write_features_info(&dev->bdaddr, &dba, evt->features, NULL);
}
+struct remote_version_req {
+ int index;
+ uint16_t handle;
+};
+
+static gboolean __get_remote_version(gpointer user_data)
+{
+ struct remote_version_req *req = user_data;
+ struct dev_info *dev = &devs[req->index];
+ read_remote_version_cp cp;
+
+ DBG("hci%d handle %u", req->index, req->handle);
+
+ memset(&cp, 0, sizeof(cp));
+ cp.handle = htobs(req->handle);
+
+ hci_send_cmd(dev->sk, OGF_LINK_CTL, OCF_READ_REMOTE_VERSION,
+ READ_REMOTE_VERSION_CP_SIZE, &cp);
+
+ return FALSE;
+}
+
+static void get_remote_version(int index, uint16_t handle)
+{
+ struct remote_version_req *req;
+
+ req = g_new0(struct remote_version_req, 1);
+ req->handle = handle;
+ req->index = index;
+
+ g_timeout_add_seconds_full(G_PRIORITY_DEFAULT, 1, __get_remote_version,
+ req, g_free);
+}
+
static inline void conn_complete(int index, void *ptr)
{
struct dev_info *dev = &devs[index];
evt_conn_complete *evt = ptr;
char filename[PATH_MAX];
char local_addr[18], peer_addr[18], *str;
- struct btd_adapter *adapter;
-
- adapter = manager_find_adapter(&dev->bdaddr);
- if (!adapter) {
- error("Unable to find matching adapter");
- return;
- }
if (evt->link_type != ACL_LINK)
return;
@@ -1693,8 +1720,7 @@
str = textfile_get(filename, peer_addr);
if (!str)
- btd_adapter_get_remote_version(adapter, btohs(evt->handle),
- TRUE);
+ get_remote_version(index, btohs(evt->handle));
else
free(str);
}
@@ -1705,13 +1731,6 @@
evt_le_connection_complete *evt = ptr;
char filename[PATH_MAX];
char local_addr[18], peer_addr[18], *str;
- struct btd_adapter *adapter;
-
- adapter = manager_find_adapter(&dev->bdaddr);
- if (!adapter) {
- error("Unable to find matching adapter");
- return;
- }
btd_event_conn_complete(&dev->bdaddr, evt->status,
btohs(evt->handle), &evt->peer_bdaddr);
@@ -1728,8 +1747,7 @@
str = textfile_get(filename, peer_addr);
if (!str)
- btd_adapter_get_remote_version(adapter, btohs(evt->handle),
- TRUE);
+ get_remote_version(index, btohs(evt->handle));
else
free(str);
}
@@ -3026,51 +3044,6 @@
return 0;
}
-struct remote_version_req {
- int index;
- uint16_t handle;
-};
-
-static gboolean get_remote_version(gpointer user_data)
-{
- struct remote_version_req *req = user_data;
- struct dev_info *dev = &devs[req->index];
- read_remote_version_cp cp;
-
- DBG("hci%d handle %u", req->index, req->handle);
-
- memset(&cp, 0, sizeof(cp));
- cp.handle = htobs(req->handle);
-
- hci_send_cmd(dev->sk, OGF_LINK_CTL, OCF_READ_REMOTE_VERSION,
- READ_REMOTE_VERSION_CP_SIZE, &cp);
-
- return FALSE;
-}
-
-static int hciops_get_remote_version(int index, uint16_t handle,
- gboolean delayed)
-{
- struct remote_version_req *req;
-
- DBG("hci%d handle %u delayed %d", index, handle, delayed);
-
- req = g_new0(struct remote_version_req, 1);
- req->handle = handle;
- req->index = index;
-
- if (!delayed) {
- get_remote_version(req);
- g_free(req);
- return 0;
- }
-
- g_timeout_add_seconds_full(G_PRIORITY_DEFAULT, 1, get_remote_version,
- req, g_free);
-
- return 0;
-}
-
static int set_service_classes(int index, uint8_t value)
{
struct dev_info *dev = &devs[index];
@@ -3254,7 +3227,6 @@
.get_auth_info = hciops_get_auth_info,
.read_scan_enable = hciops_read_scan_enable,
.enable_le = hciops_enable_le,
- .get_remote_version = hciops_get_remote_version,
.encrypt_link = hciops_encrypt_link,
.set_did = hciops_set_did,
.services_updated = hciops_services_updated,
diff --git a/plugins/mgmtops.c b/plugins/mgmtops.c
index ea87849..ba0110f 100644
--- a/plugins/mgmtops.c
+++ b/plugins/mgmtops.c
@@ -745,13 +745,6 @@
return -ENOSYS;
}
-static int mgmt_get_remote_version(int index, uint16_t handle,
- gboolean delayed)
-{
- DBG("index %d handle %u delayed %d", index, handle, delayed);
- return -ENOSYS;
-}
-
static int mgmt_encrypt_link(int index, bdaddr_t *dst, bt_hci_result_t cb,
gpointer user_data)
{
@@ -830,7 +823,6 @@
.get_auth_info = mgmt_get_auth_info,
.read_scan_enable = mgmt_read_scan_enable,
.enable_le = mgmt_enable_le,
- .get_remote_version = mgmt_get_remote_version,
.encrypt_link = mgmt_encrypt_link,
.set_did = mgmt_set_did,
.services_updated = mgmt_services_updated,
diff --git a/src/adapter.c b/src/adapter.c
index 3864f6e..a3e6abd 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -3392,13 +3392,6 @@
memcpy(dev->extfeatures, features, 8);
}
-int btd_adapter_get_remote_version(struct btd_adapter *adapter,
- uint16_t handle, gboolean delayed)
-{
- return adapter_ops->get_remote_version(adapter->dev_id, handle,
- delayed);
-}
-
int btd_adapter_encrypt_link(struct btd_adapter *adapter, bdaddr_t *bdaddr,
bt_hci_result_t cb, gpointer user_data)
{
diff --git a/src/adapter.h b/src/adapter.h
index bc5d5b7..a6320af 100644
--- a/src/adapter.h
+++ b/src/adapter.h
@@ -233,8 +233,6 @@
int (*get_auth_info) (int index, bdaddr_t *bdaddr, uint8_t *auth);
int (*read_scan_enable) (int index);
int (*enable_le) (int index);
- int (*get_remote_version) (int index, uint16_t handle,
- gboolean delayed);
int (*encrypt_link) (int index, bdaddr_t *bdaddr, bt_hci_result_t cb,
gpointer user_data);
int (*set_did) (int index, uint16_t vendor, uint16_t product,
@@ -293,9 +291,6 @@
void btd_adapter_update_local_ext_features(struct btd_adapter *adapter,
const uint8_t *features);
-int btd_adapter_get_remote_version(struct btd_adapter *adapter,
- uint16_t handle,
- gboolean delayed);
int btd_adapter_encrypt_link(struct btd_adapter *adapter, bdaddr_t *bdaddr,
bt_hci_result_t cb, gpointer user_data);