Skip to content

Commit

Permalink
Use 0000 as pin key for PORCHE_PAIRING_CONFLICT issue
Browse files Browse the repository at this point in the history
For PORCHE_PAIRING_CONFLICT issue when there are no other paired devices
available in bluetooth list pairing always fails (as per implementation
in bluedroid stack).
In this case when pin key request is received use 0000 as the pin key
so that pairing is successful.

Bug 67614

Change-Id: I67b2e689cfcc52c93fdda62dd742812698baa0e6
  • Loading branch information
Shobek Sam Attupurath authored and andi34 committed Jun 7, 2016
1 parent a61bd41 commit 242b1e0
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion stack/btm/btm_sec.c
Original file line number Diff line number Diff line change
Expand Up @@ -4774,6 +4774,10 @@ void btm_sec_pin_code_request (UINT8 *p_bda)
tBTM_SEC_DEV_REC *p_dev_rec;
tBTM_CB *p_cb = &btm_cb;

#ifdef PORCHE_PAIRING_CONFLICT
UINT8 default_pin_code_len = 4;
PIN_CODE default_pin_code = {0x30, 0x30, 0x30, 0x30};
#endif
BTM_TRACE_EVENT3 ("btm_sec_pin_code_request() State: %s, BDA:%04x%08x",
btm_pair_state_descr(btm_cb.pairing_state),
(p_bda[0]<<8)+p_bda[1], (p_bda[2]<<24)+(p_bda[3]<<16)+(p_bda[4]<<8)+p_bda[5] );
Expand Down Expand Up @@ -4807,7 +4811,8 @@ void btm_sec_pin_code_request (UINT8 *p_bda)
BTM_TRACE_EVENT0 ("btm_sec_pin_code_request from remote dev. for local initiated pairing");
if(! btm_cb.pin_code_len_saved)
{
btsnd_hcic_pin_code_neg_reply (p_bda);
btm_sec_change_pairing_state (BTM_PAIR_STATE_WAIT_AUTH_COMPLETE);
btsnd_hcic_pin_code_req_reply (p_bda, default_pin_code_len, default_pin_code);
}
else
{
Expand Down

0 comments on commit 242b1e0

Please sign in to comment.