From: Mat Martineau <mathewm@codeaurora.org>
To: Andrei Emeltchenko <andrei.emeltchenko.news@gmail.com>
Cc: "Gustavo F. Padovan" <padovan@profusion.mobi>,
linux-bluetooth@vger.kernel.org
Subject: Re: [RFC] Bluetooth: Use non-flushable pb flag by default for ACL data on capable chipsets.
Date: Thu, 16 Dec 2010 09:03:34 -0800 (PST) [thread overview]
Message-ID: <alpine.DEB.2.00.1012160741390.15684@linux-sea-02> (raw)
In-Reply-To: <AANLkTi=Kfm9jV0HA=Sa9=hs1meXthrpZEzn5-czTaSO+@mail.gmail.com>
On Thu, 16 Dec 2010, Andrei Emeltchenko wrote:
> Hi,
>
> On Wed, Dec 15, 2010 at 6:35 PM, Mat Martineau <mathewm@codeaurora.org> wrote:
> <skipped>
>> There is one more thing missing: Even though there is an L2CAP socket
>> option to set flush_to, and the flush_to is passed around during L2CAP
>> configuration, there is no use of the "Write Automatic Flush Timeout" HCI
>> command to tell the baseband what the flush timeout is! Since the flush
>> timeout is shared across all connections on the ACL, how should BlueZ handle
>> the case where different flush timeouts are set on connections that share
>> the same ACL? (My guess is that either the longest or shortest timeout
>> should be used, but there are good arguments either way)
>
> I would suggest bluetoothd to take care about setting Flush Timeout.
> There is of course possibility to have sockopt for timeout and send
> HCI command but this looks like a dirty hack.
>
> I think bluetoothd can read compare and write new flush timeout value.
There is *already* a sockopt for flush timeout (flush_to in
l2cap_options, it was added before 2005), but it is not terribly
useful because it does not configure the baseband.
One more piece of background information: The spec requires the
default flush timeout to be infinite, so if no "Write Automatic Flush
Timeout" command is sent, none of this flush code will accomplish
anything. Android has customized their version of BlueZ to send this
command for A2DP connections, with certain BR/EDR basebands.
I don't have any major objection to managing this setting from
bluetoothd. My only minor objection is that it requires an
application to manipulate the setting via DBus instead of using the
existing sockopt - it would be confusing to have both available, but I
suppose the sockopt could be deprecated or made read-only. The flush
timeout would seem to fit well as a device property.
--
Mat Martineau
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum
next prev parent reply other threads:[~2010-12-16 17:03 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-13 14:38 [RFC] Allow Bluez to select flushable or non-flushable ACL packets Emeltchenko Andrei
2010-12-13 14:38 ` [RFC] Bluetooth: Use non-flushable pb flag by default for ACL data on capable chipsets Emeltchenko Andrei
2010-12-14 6:34 ` Suraj Sumangala
2010-12-14 19:22 ` Gustavo F. Padovan
2010-12-15 16:35 ` Mat Martineau
2010-12-16 9:00 ` Andrei Emeltchenko
2010-12-16 14:40 ` Andrei Emeltchenko
2010-12-16 17:03 ` Mat Martineau [this message]
2010-12-17 7:48 ` Andrei Emeltchenko
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=alpine.DEB.2.00.1012160741390.15684@linux-sea-02 \
--to=mathewm@codeaurora.org \
--cc=andrei.emeltchenko.news@gmail.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=padovan@profusion.mobi \
/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