summaryrefslogtreecommitdiffstats
path: root/hcid/security.c
diff options
context:
space:
mode:
Diffstat (limited to 'hcid/security.c')
-rw-r--r--hcid/security.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/hcid/security.c b/hcid/security.c
index f53d33d1..670f8dde 100644
--- a/hcid/security.c
+++ b/hcid/security.c
@@ -493,6 +493,14 @@ static inline void cmd_status(int dev, bdaddr_t *sba, void *ptr)
hcid_dbus_inquiry_start(sba);
}
+static inline void cmd_complete(int dev, bdaddr_t *sba, void *ptr)
+{
+ evt_cmd_complete *evt = ptr;
+
+ if (evt->opcode == cmd_opcode_pack(OGF_LINK_CTL, OCF_INQUIRY_CANCEL))
+ hcid_dbus_inquiry_complete(sba);
+}
+
static inline void remote_name_information(int dev, bdaddr_t *sba, void *ptr)
{
evt_remote_name_req_complete *evt = ptr;
@@ -679,6 +687,10 @@ static gboolean io_security_event(GIOChannel *chan, GIOCondition cond, gpointer
cmd_status(dev, &di->bdaddr, ptr);
break;
+ case EVT_CMD_COMPLETE:
+ cmd_complete(dev, &di->bdaddr, ptr);
+ break;
+
case EVT_REMOTE_NAME_REQ_COMPLETE:
remote_name_information(dev, &di->bdaddr, ptr);
break;