Message ID | 20210721091727.177872-1-sviande@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [BlueZ,BlueZ] audio/a2dp: refcount | expand |
This is automated email and please do not reply to this email! Dear submitter, Thank you for submitting the patches to the linux bluetooth mailing list. This is a CI test results with your patch series: PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=518787 ---Test result--- Test Summary: CheckPatch PASS 0.29 seconds GitLint PASS 0.11 seconds Prep - Setup ELL PASS 40.69 seconds Build - Prep PASS 0.09 seconds Build - Configure PASS 7.11 seconds Build - Make PASS 176.72 seconds Make Check PASS 9.05 seconds Make Distcheck PASS 209.85 seconds Build w/ext ELL - Configure PASS 7.21 seconds Build w/ext ELL - Make PASS 166.28 seconds Details ############################## Test: CheckPatch - PASS Desc: Run checkpatch.pl script with rule in .checkpatch.conf ############################## Test: GitLint - PASS Desc: Run gitlint with rule in .gitlint ############################## Test: Prep - Setup ELL - PASS Desc: Clone, build, and install ELL ############################## Test: Build - Prep - PASS Desc: Prepare environment for build ############################## Test: Build - Configure - PASS Desc: Configure the BlueZ source tree ############################## Test: Build - Make - PASS Desc: Build the BlueZ source tree ############################## Test: Make Check - PASS Desc: Run 'make check' ############################## Test: Make Distcheck - PASS Desc: Run distcheck to check the distribution ############################## Test: Build w/ext ELL - Configure - PASS Desc: Configure BlueZ source with '--enable-external-ell' configuration ############################## Test: Build w/ext ELL - Make - PASS Desc: Build BlueZ source with '--enable-external-ell' configuration --- Regards, Linux Bluetooth
Hi Sébastien, On Wed, Jul 21, 2021 at 2:29 AM Sébastien Viande <sviande@gmail.com> wrote: > > Fix a2dp setup. > > I'm not the initial author of the code you can find the source on > https://patches.linaro.org/patch/285268/ If you read the comments we actually made some different changes to address that, are you still having similar issues even with those changes? It maybe some configuration not working, so perhaps you can describe the problem or better yet create a github issue with the logs. > This patch fix my problem the a2dp source not available there was only > HSP/HFP. > --- > profiles/audio/a2dp.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/profiles/audio/a2dp.c b/profiles/audio/a2dp.c > index 86bc02994..be707edda 100644 > --- a/profiles/audio/a2dp.c > +++ b/profiles/audio/a2dp.c > @@ -1568,6 +1568,8 @@ static void channel_free(void *data) > } > > avdtp_remove_state_cb(chan->state_id); > + if (chan->session) > + avdtp_unref(chan->session); > > queue_destroy(chan->seps, remove_remote_sep); > free(chan->last_used); > @@ -2149,7 +2151,7 @@ static void avdtp_state_cb(struct btd_device *dev, struct avdtp *session, > break; > case AVDTP_SESSION_STATE_CONNECTED: > if (!chan->session) > - chan->session = session; > + chan->session = avdtp_ref(session); > load_remote_seps(chan); > break; > } > @@ -2229,6 +2231,7 @@ found: > channel_remove(chan); > return NULL; > } > + avdtp_ref(chan->session); > > return avdtp_ref(chan->session); > } > @@ -2249,6 +2252,7 @@ static void connect_cb(GIOChannel *io, GError *err, gpointer user_data) > error("Unable to create AVDTP session"); > goto fail; > } > + avdtp_ref(chan->session); > } > > g_io_channel_unref(chan->io); > -- > 2.32.0 >
diff --git a/profiles/audio/a2dp.c b/profiles/audio/a2dp.c index 86bc02994..be707edda 100644 --- a/profiles/audio/a2dp.c +++ b/profiles/audio/a2dp.c @@ -1568,6 +1568,8 @@ static void channel_free(void *data) } avdtp_remove_state_cb(chan->state_id); + if (chan->session) + avdtp_unref(chan->session); queue_destroy(chan->seps, remove_remote_sep); free(chan->last_used); @@ -2149,7 +2151,7 @@ static void avdtp_state_cb(struct btd_device *dev, struct avdtp *session, break; case AVDTP_SESSION_STATE_CONNECTED: if (!chan->session) - chan->session = session; + chan->session = avdtp_ref(session); load_remote_seps(chan); break; } @@ -2229,6 +2231,7 @@ found: channel_remove(chan); return NULL; } + avdtp_ref(chan->session); return avdtp_ref(chan->session); } @@ -2249,6 +2252,7 @@ static void connect_cb(GIOChannel *io, GError *err, gpointer user_data) error("Unable to create AVDTP session"); goto fail; } + avdtp_ref(chan->session); } g_io_channel_unref(chan->io);