diff options
author | Sumit Deshmukh <quic_sumitd@quicinc.com> | 2019-04-16 12:38:32 +0530 |
---|---|---|
committer | Sumit Deshmukh <quic_sumitd@quicinc.com> | 2019-04-17 10:36:55 +0000 |
commit | 6fb07fbd0e5eb89efd4e56545a23a5ded93513d4 (patch) | |
tree | 53324d69760498b4e4b8263ec4b8b2e17264caf6 /system/gd/os/linux_generic/queue_unittest.cc | |
parent | 4f3cea536ed3d376fb3a6f9006416c87c8164d31 (diff) |
BLE: [IOT] Initiate disconnection when encryption fails during pairing
Use case:
1. Keep remote device (IOGEAR Keyboard) in advertising mode.
2. Pair and connect remote device with DUT.
3. Disconnect remote from settings menu.
4. Bring remote device back in pairing mode.
(This deletes link key at remote side.)
5. Select remote device for connection from Settings menu
from paired devices in DUT.
Reproducible Rate: 100%
Issue:
Device is seen stuck in "Connecting state" in settings app.
To recover from this bad user experience, user has to wait till
link is disconnected by timeout from remote or has to do BT reset.
Root Cause:
When pairing is initiated again from DUT (step 5), encryption
change event is received with status "PIN or Key Missing" after
connection complete but disconnection is not initiated by DUT
thereafter.
Fix:
Trigger disconnection if encyption fails with reason like
HCI_ERR_AUTH_FAILURE, HCI_ERR_KEY_MISSING,
HCI_ERR_ENCRY_MODE_NOT_ACCEPTABLE etc
Test: Checked connection and pairing after remote device deletes
link key. In first attempt, disconnection will be issued and in
next attempt pairing/connection will be successful.
Bug: 130694802
Change-Id: Ie93938a5dc68c6bbd4b6c375c360f09e797f9e77
Diffstat (limited to 'system/gd/os/linux_generic/queue_unittest.cc')
0 files changed, 0 insertions, 0 deletions