From 4503dba4ba28299c83aa320a95e988c74b67eaa8 Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Fri, 15 Jun 2012 17:41:37 +0300 Subject: [PATCH] audio: Fix handling of A2DP abort indication When an abort is received all setup callbacks should return an error. --- audio/a2dp.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/audio/a2dp.c b/audio/a2dp.c index 5139f6182..d9dcead5f 100644 --- a/audio/a2dp.c +++ b/audio/a2dp.c @@ -1182,6 +1182,7 @@ static gboolean abort_ind(struct avdtp *session, struct avdtp_local_sep *sep, void *user_data) { struct a2dp_sep *a2dp_sep = user_data; + struct a2dp_setup *setup; if (a2dp_sep->type == AVDTP_SEP_TYPE_SINK) DBG("Sink %p: Abort_Ind", sep); @@ -1190,6 +1191,14 @@ static gboolean abort_ind(struct avdtp *session, struct avdtp_local_sep *sep, a2dp_sep->stream = NULL; + setup = find_setup_by_session(session); + if (!setup) + return TRUE; + + finalize_setup_errno(setup, -ECONNRESET, finalize_suspend, + finalize_resume, + finalize_config); + return TRUE; } -- 2.47.3