component/bt: retrieve disconnection reason in AVDT when ACL-U link is disconnected
This commit is contained in:
parent
7457054c1f
commit
7f7f8a02d0
1 changed files with 8 additions and 1 deletions
|
@ -412,6 +412,7 @@ void avdt_l2c_disconnect_ind_cback(UINT16 lcid, BOOLEAN ack_needed)
|
||||||
{
|
{
|
||||||
tAVDT_TC_TBL *p_tbl;
|
tAVDT_TC_TBL *p_tbl;
|
||||||
UINT16 disc_rsn = AVDT_DISC_RSN_NORMAL;
|
UINT16 disc_rsn = AVDT_DISC_RSN_NORMAL;
|
||||||
|
tAVDT_CCB *p_ccb;
|
||||||
AVDT_TRACE_DEBUG("avdt_l2c_disconnect_ind_cback lcid: %d, ack_needed: %d\n",
|
AVDT_TRACE_DEBUG("avdt_l2c_disconnect_ind_cback lcid: %d, ack_needed: %d\n",
|
||||||
lcid, ack_needed);
|
lcid, ack_needed);
|
||||||
/* look up info for this channel */
|
/* look up info for this channel */
|
||||||
|
@ -420,7 +421,13 @@ void avdt_l2c_disconnect_ind_cback(UINT16 lcid, BOOLEAN ack_needed)
|
||||||
/* send L2CAP disconnect response */
|
/* send L2CAP disconnect response */
|
||||||
L2CA_DisconnectRsp(lcid);
|
L2CA_DisconnectRsp(lcid);
|
||||||
} else {
|
} else {
|
||||||
|
if ((p_ccb = avdt_ccb_by_idx(p_tbl->ccb_idx)) != NULL) {
|
||||||
|
UINT16 rsn = L2CA_GetDisconnectReason(p_ccb->peer_addr, BT_TRANSPORT_BR_EDR);
|
||||||
|
if (rsn != 0 && rsn != HCI_ERR_PEER_USER) {
|
||||||
disc_rsn = AVDT_DISC_RSN_ABNORMAL;
|
disc_rsn = AVDT_DISC_RSN_ABNORMAL;
|
||||||
|
AVDT_TRACE_EVENT("avdt link disc rsn 0x%x", rsn);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
avdt_ad_tc_close_ind(p_tbl, disc_rsn);
|
avdt_ad_tc_close_ind(p_tbl, disc_rsn);
|
||||||
|
|
Loading…
Reference in a new issue