From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> ABORT command cannot be rejected --- audio/a2dp.c | 6 +++--- audio/avdtp.c | 12 +++--------- audio/avdtp.h | 2 +- 3 files changed, 7 insertions(+), 13 deletions(-) diff --git a/audio/a2dp.c b/audio/a2dp.c index 094476e..5b1b424 100644 --- a/audio/a2dp.c +++ b/audio/a2dp.c @@ -1174,7 +1174,7 @@ static void close_cfm(struct avdtp *session, struct avdtp_local_sep *sep, g_timeout_add(RECONFIGURE_TIMEOUT, a2dp_reconfigure, setup); } -static gboolean abort_ind(struct avdtp *session, struct avdtp_local_sep *sep, +static void abort_ind(struct avdtp *session, struct avdtp_local_sep *sep, struct avdtp_stream *stream, uint8_t *err, void *user_data) { @@ -1190,13 +1190,13 @@ static gboolean abort_ind(struct avdtp *session, struct avdtp_local_sep *sep, setup = find_setup_by_session(session); if (!setup) - return TRUE; + return; finalize_setup_errno(setup, -ECONNRESET, finalize_suspend, finalize_resume, finalize_config); - return TRUE; + return; } static void abort_cfm(struct avdtp *session, struct avdtp_local_sep *sep, diff --git a/audio/avdtp.c b/audio/avdtp.c index 61f5f94..1366bf1 100644 --- a/audio/avdtp.c +++ b/audio/avdtp.c @@ -1954,11 +1954,9 @@ static gboolean avdtp_abort_cmd(struct avdtp *session, uint8_t transaction, if (!sep || !sep->stream) return TRUE; - if (sep->ind && sep->ind->abort) { - if (!sep->ind->abort(session, sep, sep->stream, &err, - sep->user_data)) - goto failed; - } + if (sep->ind && sep->ind->abort) + sep->ind->abort(session, sep, sep->stream, &err, + sep->user_data); avdtp_check_collision(session, AVDTP_ABORT, sep->stream); @@ -1968,10 +1966,6 @@ static gboolean avdtp_abort_cmd(struct avdtp *session, uint8_t transaction, avdtp_sep_set_state(session, sep, AVDTP_STATE_ABORTING); return ret; - -failed: - return avdtp_send(session, transaction, AVDTP_MSG_TYPE_REJECT, - AVDTP_ABORT, &err, sizeof(err)); } static gboolean avdtp_secctl_cmd(struct avdtp *session, uint8_t transaction, diff --git a/audio/avdtp.h b/audio/avdtp.h index 1979694..8acf302 100644 --- a/audio/avdtp.h +++ b/audio/avdtp.h @@ -199,7 +199,7 @@ struct avdtp_sep_ind { gboolean (*close) (struct avdtp *session, struct avdtp_local_sep *sep, struct avdtp_stream *stream, uint8_t *err, void *user_data); - gboolean (*abort) (struct avdtp *session, struct avdtp_local_sep *sep, + void (*abort) (struct avdtp *session, struct avdtp_local_sep *sep, struct avdtp_stream *stream, uint8_t *err, void *user_data); gboolean (*reconfigure) (struct avdtp *session, -- 1.7.10.2 -- 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