diff options
-rw-r--r-- | hcid/dbus.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/hcid/dbus.c b/hcid/dbus.c index 6712b3a5..3a15ad0a 100644 --- a/hcid/dbus.c +++ b/hcid/dbus.c @@ -1307,6 +1307,13 @@ void hcid_dbus_disconn_complete(bdaddr_t *local, uint8_t status, uint16_t handle cancel_passkey_agent_requests(pdata->passkey_agents, path, &dev->bdaddr); release_passkey_agents(pdata, &dev->bdaddr); + l = slist_find(pdata->pin_reqs, &dev->bdaddr, pin_req_cmp); + if (l) { + struct pending_pin_req *p = l->data; + pdata->pin_reqs = slist_remove(pdata->pin_reqs, p); + free(p); + } + /* Check if there is a pending CreateBonding request */ if (pdata->bonding && (bacmp(&pdata->bonding->bdaddr, &dev->bdaddr) == 0)) { if (pdata->bonding->cancel) { |