From: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
To: linux-bluetooth@vger.kernel.org
Subject: [PATCH 0/5] [RFC] handling avdtp collisions
Date: Wed, 6 Apr 2011 14:00:32 +0300 [thread overview]
Message-ID: <1302087637-30131-1-git-send-email-luiz.dentz@gmail.com> (raw)
From: Luiz Augusto von Dentz <luiz.dentz-von@nokia.com>
This has been causing some problems with some devices, specially with
start and suspend commands which even when local endpoint handles it
nicelly (by accepting as a valid response) the remote stack may not
respond at all causing the resquest to timeout/abort.
The spec suggest the following about this:
"In case an INT receives a request for the same command that it is
expecting a response for, it may reject the command and may use a
random time offset for a retransmission to avoid deadlock."
But note that this is not possible for abort which cannot be rejected
and also may be too expensive in some cases e.g. switching a2dp to hfp
when a call is ringing.
So instead of doing this directly on avdtp levle as the spec suggest, I
suggest to let the local sep decide what to do with the command
indication and in case it accepts remove the pending request from the
queue so it doesn't timeout nor can be rejected.
Note that this doesn't change much the current implementation of local
sep, it was already accepting indication regardless of pending
requests, but with the proposed changes when a collision happen
callbacks are called and the indication is properly propagated to the
endpoints.
Luiz Augusto von Dentz (5):
Add handling of avdtp command collision
Fix handling of a2dp suspend indication
Fix handling of a2dp open indication
Fix handling of a2dp start indication
Fix handling of a2dp abort indication
audio/a2dp.c | 62 ++++++++++++++++++++++++++++++++++++++++++---
audio/avdtp.c | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++------
2 files changed, 127 insertions(+), 13 deletions(-)
next reply other threads:[~2011-04-06 11:00 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-06 11:00 Luiz Augusto von Dentz [this message]
2011-04-06 11:00 ` [PATCH 1/5] Add handling of avdtp command collision Luiz Augusto von Dentz
2011-04-06 11:00 ` [PATCH 2/5] Fix handling of a2dp suspend indication Luiz Augusto von Dentz
2011-04-06 11:00 ` [PATCH 3/5] Fix handling of a2dp open indication Luiz Augusto von Dentz
2011-04-06 11:00 ` [PATCH 4/5] Fix handling of a2dp start indication Luiz Augusto von Dentz
2011-04-06 11:00 ` [PATCH 5/5] Fix handling of a2dp abort indication Luiz Augusto von Dentz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1302087637-30131-1-git-send-email-luiz.dentz@gmail.com \
--to=luiz.dentz@gmail.com \
--cc=linux-bluetooth@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox