From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> Ever since discovery can be canceled connect_id is now set while discovering so it needs to be reset on the callback otherwise it will cause .connect to always return -EBUSY until .disconnect is called. --- profiles/audio/sink.c | 2 ++ profiles/audio/source.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/profiles/audio/sink.c b/profiles/audio/sink.c index 1c36735..3af8e0f 100644 --- a/profiles/audio/sink.c +++ b/profiles/audio/sink.c @@ -227,6 +227,8 @@ static void discovery_complete(struct avdtp *session, GSList *seps, struct avdtp struct sink *sink = user_data; int id, perr; + sink->connect_id = 0; + if (err) { avdtp_unref(sink->session); sink->session = NULL; diff --git a/profiles/audio/source.c b/profiles/audio/source.c index 16a8287..c036208 100644 --- a/profiles/audio/source.c +++ b/profiles/audio/source.c @@ -227,6 +227,8 @@ static void discovery_complete(struct avdtp *session, GSList *seps, struct avdtp struct source *source = user_data; int id, perr; + source->connect_id = 0; + if (err) { avdtp_unref(source->session); source->session = NULL; -- 2.4.3 -- 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