From 45dc9f0e65df9f5a7b9c9bbca4b706718906d230 Mon Sep 17 00:00:00 2001 From: Bharat Panda Date: Fri, 13 Nov 2015 19:07:13 +0530 Subject: [PATCH] audio: Fix not resetting connect_id 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. git repo link: http://git.kernel.org/cgit/bluetooth/bluez.git/commit/?id=a1a01a6f95fb3715dd7aa27af3543b6cb0a62da7 Change-Id: Ibd5af39c1346536f11a45390d3f262b2fcc15fa1 --- 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 cdd89b4..80caa09 100644 --- a/profiles/audio/sink.c +++ b/profiles/audio/sink.c @@ -242,6 +242,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 11e4cff..e834c77 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.7.4