Calling org.bluez.MediaEndpoint.Acquire ends in avdtp_start(). If bluez is acceptor of AVDTP_OPEN, then avdtp_start is delayed in a timer in order to wait for the initiator to send AVDTP_START. If the timer expires, avdtp_start() is called a second time and find that Bluez is acceptor. This time, since a timer already exists, Bluez does nothing and the answer to Acquire is never sent. The idea of this patch is that if we get in the timeout, we will no longer care whether we accepted open or not. --- audio/avdtp.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/audio/avdtp.c b/audio/avdtp.c index 56a0905..e431ce8 100644 --- a/audio/avdtp.c +++ b/audio/avdtp.c @@ -3627,6 +3627,8 @@ static gboolean start_timeout(gpointer user_data) struct avdtp_stream *stream = user_data; struct avdtp *session = stream->session; + stream->open_acp = 0; + if (avdtp_start(session, stream) < 0) error("wait_timeout: avdtp_start failed"); -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html