diff --git a/audio/transport.c b/audio/transport.c
index aed9f9a..daafff8 100644
--- a/audio/transport.c
+++ b/audio/transport.c
struct media_endpoint *endpoint = transport->endpoint;
struct a2dp_sep *sep = media_endpoint_get_sep(endpoint);
- if (!owner) {
- a2dp_sep_unlock(sep, a2dp->session);
-
- if (a2dp_sep_is_playing(sep))
- transport_set_state(transport, TRANSPORT_STATE_PENDING);
- else
- transport_set_state(transport, TRANSPORT_STATE_IDLE);
+ if (owner != NULL)
+ return a2dp_suspend(a2dp->session, sep, a2dp_suspend_complete,
+ owner);
- return 0;
- }
+ transport_set_state(transport, TRANSPORT_STATE_IDLE);
+ a2dp_sep_unlock(sep, a2dp->session);
- return a2dp_suspend(a2dp->session, sep, a2dp_suspend_complete, owner);
+ return 0;
}
static void cancel_a2dp(struct media_transport *transport, guint id)