summaryrefslogtreecommitdiff
path: root/android/avdtp.c
diff options
context:
space:
mode:
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2013-11-28 16:00:46 +0200
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2013-12-05 12:36:03 +0200
commitcb5058cf26e4ad6fd857fd480675cd6fcd4b7985 (patch)
tree9cfb39ccc76a2da91e878de44f36fc916abc581a /android/avdtp.c
parentc75eaca91670f0f93f3e967342ea70ffaa91afce (diff)
downloadbluez-cb5058cf26e4ad6fd857fd480675cd6fcd4b7985.tar.gz
android/AVDTP: Fix not calling callback if GET_CAPABILITIES is rejected
If GET_CAPABILITIES command is rejected and a callback exists it should be called with the reject error, this fixes test /TP/SIG/SMG/BI-04-C.
Diffstat (limited to 'android/avdtp.c')
-rw-r--r--android/avdtp.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/android/avdtp.c b/android/avdtp.c
index 3b605ae5a..40bb4be3c 100644
--- a/android/avdtp.c
+++ b/android/avdtp.c
@@ -2555,10 +2555,15 @@ static gboolean avdtp_parse_rej(struct avdtp *session,
switch (signal_id) {
case AVDTP_DISCOVER:
+ case AVDTP_GET_CAPABILITIES:
+ case AVDTP_GET_ALL_CAPABILITIES:
if (!seid_rej_to_err(buf, size, &err))
return FALSE;
- error("DISCOVER request rejected: %s (%d)",
- avdtp_strerror(&err), err.err.error_code);
+ error("%s request rejected: %s (%d)",
+ signal_id == AVDTP_DISCOVER ? "DISCOVER" :
+ signal_id == AVDTP_GET_CAPABILITIES ?
+ "GET_CAPABILITIES" : "GET_ALL_CAPABILITIES",
+ avdtp_strerror(&err), err.err.error_code);
if (session->discover) {
session->discover->cb(session, session->seps, &err,
session->discover->user_data);
@@ -2566,13 +2571,6 @@ static gboolean avdtp_parse_rej(struct avdtp *session,
session->discover = NULL;
}
return TRUE;
- case AVDTP_GET_CAPABILITIES:
- case AVDTP_GET_ALL_CAPABILITIES:
- if (!seid_rej_to_err(buf, size, &err))
- return FALSE;
- error("GET_CAPABILITIES request rejected: %s (%d)",
- avdtp_strerror(&err), err.err.error_code);
- return TRUE;
case AVDTP_OPEN:
if (!seid_rej_to_err(buf, size, &err))
return FALSE;