diff options
author | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2013-11-28 16:00:46 +0200 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2013-12-05 12:36:03 +0200 |
commit | cb5058cf26e4ad6fd857fd480675cd6fcd4b7985 (patch) | |
tree | 9cfb39ccc76a2da91e878de44f36fc916abc581a /android/avdtp.c | |
parent | c75eaca91670f0f93f3e967342ea70ffaa91afce (diff) | |
download | bluez-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.c | 16 |
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; |