diff --git a/profiles/audio/avdtp.c b/profiles/audio/avdtp.c
index 782268c..e0c6f44 100644
--- a/profiles/audio/avdtp.c
+++ b/profiles/audio/avdtp.c
stream = sep->stream;
- if (sep->ind && sep->ind->open) {
+ if (sep->ind && sep->ind->open && !session->pending_open) {
if (!sep->ind->open(session, sep, stream, &err,
sep->user_data))
goto failed;
AVDTP_OPEN, NULL, 0))
return FALSE;
- stream->open_acp = TRUE;
- session->pending_open = stream;
- stream->timer = g_timeout_add_seconds(REQ_TIMEOUT,
+ if (!session->pending_open) {
+ stream->open_acp = TRUE;
+ session->pending_open = stream;
+ stream->timer = g_timeout_add_seconds(REQ_TIMEOUT,
stream_open_timeout,
stream);
+ }
return TRUE;