From: Szymon Janc <szymon.janc@tieto.com>
To: Lukasz Rymanowski <lukasz.rymanowski@tieto.com>
Cc: linux-bluetooth@vger.kernel.org
Subject: Re: [RFC] android/bluetooth: Update pairing status on pair complete event
Date: Wed, 20 Aug 2014 12:02:21 +0200 [thread overview]
Message-ID: <2178802.c2DUHlZXv8@leonov> (raw)
In-Reply-To: <1407400740-29565-1-git-send-email-lukasz.rymanowski@tieto.com>
Hi Łukasz,
On Thursday 07 of August 2014 10:39:00 Lukasz Rymanowski wrote:
> So far BfA updates android bond state after link key(s) are
> distributed. With LE pairing it might happen that no keys are
> distributed e.g remote device has Initiator Key Distribution and
> Responder Key Distribution set to 0. In such case link is encrypted with
> STK and after its disconnected, pairing needs to be done again.
>
> With this patch Android will get update about pairing complete just
> after BfA gets pairing complete from the kernel. It solve issue with not
> updated Android settings application, which is hanging on "Pairing", in
> case when no keys are distributed.
>
> However, bacause Android does not see the difference between bonded /
> paired devices and because Android does not allow to update its bond
> state if it is not in bonding state, BfA updates Android with BONDED
> state on pair_complete with success. This is how we are doing so far
> for bonding and non-bonding pairing.
>
> Note: BfA will update its bonded state after link key(s) are
> distribiuted.
> ---
> android/bluetooth.c | 13 +++++--------
> 1 file changed, 5 insertions(+), 8 deletions(-)
>
> diff --git a/android/bluetooth.c b/android/bluetooth.c
> index 655844d..8c32d48 100644
> --- a/android/bluetooth.c
> +++ b/android/bluetooth.c
> @@ -4065,19 +4065,16 @@ static void pair_device_complete(uint8_t status,
> uint16_t length,
>
> DBG("status %u", status);
>
> - /*
> - * On success bond state change will be send when new link key or LTK
> - * event is received
> - */
> - if (status == MGMT_STATUS_SUCCESS)
> - return;
> -
> dev = find_device(&rp->addr.bdaddr);
> if (!dev)
> return;
>
> + /*
> + * Update pairing and paired status. Bonded status will be updated once
> + * any link key come
> + */
> update_device_state(dev, rp->addr.type, status_mgmt2hal(status), false,
> - false, false);
> + !status, false);
> }
>
> static uint8_t select_device_bearer(struct device *dev)
Patch applied, thanks.
--
BR
Szymon Janc
prev parent reply other threads:[~2014-08-20 10:02 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-07 8:39 [RFC] android/bluetooth: Update pairing status on pair complete event Lukasz Rymanowski
2014-08-20 6:58 ` Lukasz Rymanowski
2014-08-20 10:02 ` Szymon Janc [this message]
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=2178802.c2DUHlZXv8@leonov \
--to=szymon.janc@tieto.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=lukasz.rymanowski@tieto.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.