mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
bluedroid: fixed gatt tcb free when disconnecting
This commit is contained in:
parent
2101438df6
commit
bddb13efb2
@ -1239,6 +1239,7 @@ extern BOOLEAN L2CA_CheckIsCongest(UINT16 fixed_cid, BD_ADDR addr);
|
||||
#define L2CA_DECREASE_BTU_NUM 4
|
||||
#define L2CA_BUFF_INI 5
|
||||
#define L2CA_BUFF_DEINIT 6
|
||||
#define L2CA_BUFF_FREE 7
|
||||
|
||||
typedef struct {
|
||||
UINT16 conn_id;
|
||||
|
@ -2386,6 +2386,12 @@ void l2ble_update_att_acl_pkt_num(UINT8 type, tl2c_buff_param_t *param)
|
||||
buff_semaphore = NULL;
|
||||
break;
|
||||
}
|
||||
case L2CA_BUFF_FREE:{
|
||||
xSemaphoreTake(buff_semaphore, portMAX_DELAY);
|
||||
// Do nothing
|
||||
xSemaphoreGive(buff_semaphore);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -1707,6 +1707,12 @@ void l2cu_release_ccb (tL2C_CCB *p_ccb)
|
||||
if (!p_ccb->in_use) {
|
||||
return;
|
||||
}
|
||||
#if BLE_INCLUDED == TRUE
|
||||
if (p_lcb->transport == BT_TRANSPORT_LE) {
|
||||
/* Take samephore to avoid race condition */
|
||||
l2ble_update_att_acl_pkt_num(L2CA_BUFF_FREE, NULL);
|
||||
}
|
||||
#endif
|
||||
#if (SDP_INCLUDED == TRUE)
|
||||
if (p_rcb && (p_rcb->psm != p_rcb->real_psm)) {
|
||||
btm_sec_clr_service_by_psm(p_rcb->psm);
|
||||
|
Loading…
Reference in New Issue
Block a user