diff --git a/profiles/audio/avdtp.c b/profiles/audio/avdtp.c
index 0187691..403a22b 100644
--- a/profiles/audio/avdtp.c
+++ b/profiles/audio/avdtp.c
return TRUE;
}
-static void pending_req_free(struct pending_req *req)
+static void pending_req_free(void *data)
{
+ struct pending_req *req = data;
+
if (req->timeout)
g_source_remove(req->timeout);
g_free(req->data);
if (session->req)
pending_req_free(session->req);
+ g_slist_free_full(session->req_queue, pending_req_free);
+ g_slist_free_full(session->prio_queue, pending_req_free);
g_slist_free_full(session->seps, sep_free);
g_free(session->buf);