Move SSP mode reading into hciops
Since the only thing the code does upon a write_ssp_mode_complete event
is issue a read_ssp_mode command it makes sense to have this internal to
hciops.
diff --git a/plugins/hciops.c b/plugins/hciops.c
index 63d7cbd..37283a2 100644
--- a/plugins/hciops.c
+++ b/plugins/hciops.c
@@ -994,7 +994,9 @@
adapter_set_class_complete(&BDADDR(index), status);
break;
case cmd_opcode_pack(OGF_HOST_CTL, OCF_WRITE_SIMPLE_PAIRING_MODE):
- btd_event_write_simple_pairing_mode_complete(&BDADDR(index));
+ if (!status)
+ hci_send_cmd(SK(index), OGF_HOST_CTL,
+ OCF_READ_SIMPLE_PAIRING_MODE, 0, NULL);
break;
case cmd_opcode_pack(OGF_HOST_CTL, OCF_READ_SIMPLE_PAIRING_MODE):
ptr += sizeof(evt_cmd_complete);
@@ -2397,15 +2399,6 @@
return 0;
}
-static int hciops_read_ssp_mode(int index)
-{
- if (hci_send_cmd(SK(index), OGF_HOST_CTL,
- OCF_READ_SIMPLE_PAIRING_MODE, 0, NULL) < 0)
- return -errno;
-
- return 0;
-}
-
static int hciops_write_le_host(int index, uint8_t le, uint8_t simul)
{
write_le_host_supported_cp cp;
@@ -2500,7 +2493,6 @@
.passkey_reply = hciops_passkey_reply,
.get_auth_info = hciops_get_auth_info,
.read_scan_enable = hciops_read_scan_enable,
- .read_ssp_mode = hciops_read_ssp_mode,
.write_le_host = hciops_write_le_host,
.get_remote_version = hciops_get_remote_version,
.encrypt_link = hciops_encrypt_link,
diff --git a/plugins/mgmtops.c b/plugins/mgmtops.c
index f1e15fc..8472bd0 100644
--- a/plugins/mgmtops.c
+++ b/plugins/mgmtops.c
@@ -763,12 +763,6 @@
return -ENOSYS;
}
-static int mgmt_read_ssp_mode(int index)
-{
- DBG("index %d", index);
- return -ENOSYS;
-}
-
static int mgmt_write_le_host(int index, uint8_t le, uint8_t simul)
{
DBG("index %d le %u simul %u", index, le, simul);
@@ -831,7 +825,6 @@
.passkey_reply = mgmt_passkey_reply,
.get_auth_info = mgmt_get_auth_info,
.read_scan_enable = mgmt_read_scan_enable,
- .read_ssp_mode = mgmt_read_ssp_mode,
.write_le_host = mgmt_write_le_host,
.get_remote_version = mgmt_get_remote_version,
.encrypt_link = mgmt_encrypt_link,
diff --git a/src/adapter.c b/src/adapter.c
index b89f2b7..fc0a8ec 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -3628,11 +3628,6 @@
return adapter_ops->read_scan_enable(adapter->dev_id);
}
-int btd_adapter_read_ssp_mode(struct btd_adapter *adapter)
-{
- return adapter_ops->read_ssp_mode(adapter->dev_id);
-}
-
int btd_adapter_read_local_ext_features(struct btd_adapter *adapter)
{
return adapter_ops->read_local_ext_features(adapter->dev_id);
diff --git a/src/adapter.h b/src/adapter.h
index 3930630..de7c858 100644
--- a/src/adapter.h
+++ b/src/adapter.h
@@ -220,7 +220,6 @@
int (*passkey_reply) (int index, bdaddr_t *bdaddr, uint32_t passkey);
int (*get_auth_info) (int index, bdaddr_t *bdaddr, uint8_t *auth);
int (*read_scan_enable) (int index);
- int (*read_ssp_mode) (int index);
int (*write_le_host) (int index, uint8_t le, uint8_t simul);
int (*get_remote_version) (int index, uint16_t handle,
gboolean delayed);
@@ -274,7 +273,6 @@
int btd_adapter_read_scan_enable(struct btd_adapter *adapter);
-int btd_adapter_read_ssp_mode(struct btd_adapter *adapter);
int btd_adapter_read_local_ext_features(struct btd_adapter *adapter);
void btd_adapter_update_local_ext_features(struct btd_adapter *adapter,
const uint8_t *features);
diff --git a/src/event.c b/src/event.c
index a057306..cdf9a8b 100644
--- a/src/event.c
+++ b/src/event.c
@@ -738,19 +738,6 @@
adapter_update_ssp_mode(adapter, rp->mode);
}
-void btd_event_write_simple_pairing_mode_complete(bdaddr_t *local)
-{
- struct btd_adapter *adapter;
-
- adapter = manager_find_adapter(local);
- if (!adapter) {
- error("No matching adapter found");
- return;
- }
-
- btd_adapter_read_ssp_mode(adapter);
-}
-
void btd_event_returned_link_key(bdaddr_t *local, bdaddr_t *peer)
{
struct btd_adapter *adapter;