OSDN Git Service

bt address memory copy error in btif_av_state_opening_handler()
authorTing Zheng <ting.zheng@mediatek.com>
Tue, 19 Jul 2016 22:29:19 +0000 (15:29 -0700)
committerAndre Eisenbach <eisenbach@google.com>
Mon, 31 Oct 2016 17:57:48 +0000 (17:57 +0000)
commit98397944b8ed1ccfe808c9442e5258dd30e086c6
tree5dc5e670a5d2027a869550b974c1b8b0df58f31e
parentb7fa415540ef53bfc07fac7f0676a2ce70f9d52e
bt address memory copy error in btif_av_state_opening_handler()

[Problem]
In btif_av_state_opening_handler() BTIF_AV_CONNECT_REQ_EVT
handling, it reported the wrong bt address. It happened when remote speaker
connected back and local also tried to initiate the connection almost at the
same time, so that A2dpStateMachine recognized mTargetDevice and mIncomingDevice
as two different deivices. When it was final connected, A2dpStateMachine ignored
the connected event as "ERROR: current, target, or mIncomingDevice not null in
Disconnected".

[Solution]
Modify (bt_bdaddr_t*)p_data to ((btif_av_connect_req_t *)p_data)->target_bda in
btif_av_state_opening_handler() BTIF_AV_CONNECT_REQ_EVT handling. In previous
design, it would copy the address of target_bda and uuid in
btif_av_connect_req_t rather than the real address pointed by target_bda.

Change-Id: Icbc5150016d6f75aa314b5d9e152a2de74f0cfbe
Signed-off-by: Ting Zheng <ting.zheng@mediatek.com>
btif/src/btif_av.cc