diff --git a/audio/transport.c b/audio/transport.c
index 795b794..8ff6c85 100644
--- a/audio/transport.c
+++ b/audio/transport.c
return TRUE;
}
-static void media_owner_remove(struct media_owner *owner,
- struct media_request *req)
+static void media_owner_remove(struct media_owner *owner)
{
struct media_transport *transport = owner->transport;
+ struct media_request *req = owner->pending;
+
+ if (!req)
+ return;
DBG("Owner %s Request %s", owner->name,
dbus_message_get_member(req->msg));
{
DBG("Owner %s", owner->name);
- if (owner->pending)
- media_owner_remove(owner, owner->pending);
+ media_owner_remove(owner);
g_free(owner->name);
g_free(owner->accesstype);
if (ret == FALSE)
goto fail;
- media_owner_remove(owner, req);
+ media_owner_remove(owner);
return;
if (owner->pending) {
owner->pending->id = 0;
media_request_reply(owner->pending, transport->conn, 0);
- media_owner_remove(owner, owner->pending);
+ media_owner_remove(owner);
}
a2dp_sep_unlock(sep, transport->session);
if (ret == FALSE)
goto fail;
- media_owner_remove(owner, req);
+ media_owner_remove(owner);
return;
if (owner->pending) {
owner->pending->id = 0;
media_request_reply(owner->pending, transport->conn, 0);
- media_owner_remove(owner, owner->pending);
+ media_owner_remove(owner);
}
headset_unlock(dev, HEADSET_LOCK_READ | HEADSET_LOCK_WRITE);
owner->watch = 0;
- if (owner->pending != NULL)
- media_owner_remove(owner, owner->pending);
+ media_owner_remove(owner);
media_transport_remove(owner->transport, owner);
}
member = dbus_message_get_member(owner->pending->msg);
/* Cancel Acquire request if that exist */
if (g_str_equal(member, "Acquire"))
- media_owner_remove(owner, owner->pending);
+ media_owner_remove(owner);
else
return btd_error_in_progress(msg);
}