From eb3def6c7256c40876d9dc023feb40f47f37caf7 Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Fri, 15 Sep 2006 15:17:52 +0000 Subject: Cleanup pending pin request list on disconnect event --- hcid/dbus.c | 7 +++++++ 1 file changed, 7 insertions(+) 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) { -- cgit