diff options
author | Johan Hedberg <johan.hedberg@nokia.com> | 2006-09-15 15:17:52 +0000 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@nokia.com> | 2006-09-15 15:17:52 +0000 |
commit | eb3def6c7256c40876d9dc023feb40f47f37caf7 (patch) | |
tree | cddc7486acc0052d27572a749493a1b627476d9a /hcid | |
parent | 0ab6b68b07ee96bf4bd4cf0fe7d4b68582b5caf5 (diff) |
Cleanup pending pin request list on disconnect event
Diffstat (limited to 'hcid')
-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) { |