fix spp acceptor deadlock
This commit is contained in:
@@ -381,7 +381,6 @@ typedef struct t_l2c_linkcb {
|
||||
|
||||
TIMER_LIST_ENT timer_entry; /* Timer list entry for timeout evt */
|
||||
UINT16 handle; /* The handle used with LM */
|
||||
UINT16 completed_packets; /* The number of conpleted packets */
|
||||
|
||||
tL2C_CCB_Q ccb_queue; /* Queue of CCBs on this LCB */
|
||||
|
||||
@@ -673,10 +672,6 @@ extern void l2cu_send_peer_ble_credit_based_disconn_req(tL2C_CCB *p_ccb);
|
||||
|
||||
#endif
|
||||
|
||||
#if (C2H_FLOW_CONTROL_INCLUDED == TRUE)
|
||||
extern UINT8 l2cu_find_completed_packets(UINT16 *handles, UINT16 *num_packets);
|
||||
#endif ///C2H_FLOW_CONTROL_INCLUDED == TRUE
|
||||
|
||||
extern BOOLEAN l2cu_initialize_fixed_ccb (tL2C_LCB *p_lcb, UINT16 fixed_cid, tL2CAP_FCR_OPTS *p_fcr);
|
||||
extern void l2cu_no_dynamic_ccbs (tL2C_LCB *p_lcb);
|
||||
extern void l2cu_process_fixed_chnl_resp (tL2C_LCB *p_lcb);
|
||||
|
||||
@@ -96,9 +96,6 @@ tL2C_LCB *l2cu_allocate_lcb (BD_ADDR p_bd_addr, BOOLEAN is_bonding, tBT_TRANSPOR
|
||||
l2c_link_adjust_allocation();
|
||||
}
|
||||
p_lcb->link_xmit_data_q = list_new(NULL);
|
||||
#if (C2H_FLOW_CONTROL_INCLUDED == TRUE)
|
||||
p_lcb->completed_packets = 0;
|
||||
#endif ///C2H_FLOW_CONTROL_INCLUDED == TRUE
|
||||
return (p_lcb);
|
||||
}
|
||||
}
|
||||
@@ -269,11 +266,6 @@ void l2cu_release_lcb (tL2C_LCB *p_lcb)
|
||||
p_lcb->le_sec_pending_q = NULL;
|
||||
}
|
||||
#endif ///BLE_INCLUDED == TRUE
|
||||
|
||||
#if (C2H_FLOW_CONTROL_INCLUDED == TRUE)
|
||||
p_lcb->completed_packets = 0;
|
||||
#endif ///C2H_FLOW_CONTROL_INCLUDED == TRUE
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -3176,36 +3168,6 @@ void l2cu_send_peer_ble_credit_based_disconn_req(tL2C_CCB *p_ccb)
|
||||
|
||||
#endif /* BLE_INCLUDED == TRUE */
|
||||
|
||||
#if (C2H_FLOW_CONTROL_INCLUDED == TRUE)
|
||||
/*******************************************************************************
|
||||
**
|
||||
** Function l2cu_find_completed_packets
|
||||
**
|
||||
** Description Find the completed packets,
|
||||
** Then set it to zero
|
||||
**
|
||||
** Returns The num of handles
|
||||
**
|
||||
*******************************************************************************/
|
||||
UINT8 l2cu_find_completed_packets(UINT16 *handles, UINT16 *num_packets)
|
||||
{
|
||||
int xx;
|
||||
UINT8 num = 0;
|
||||
tL2C_LCB *p_lcb = &l2cb.lcb_pool[0];
|
||||
|
||||
for (xx = 0; xx < MAX_L2CAP_LINKS; xx++, p_lcb++) {
|
||||
if ((p_lcb->in_use) && (p_lcb->completed_packets > 0)) {
|
||||
*(handles++) = p_lcb->handle;
|
||||
*(num_packets++) = p_lcb->completed_packets;
|
||||
num++;
|
||||
p_lcb->completed_packets = 0;
|
||||
}
|
||||
}
|
||||
|
||||
return num;
|
||||
}
|
||||
#endif ///C2H_FLOW_CONTROL_INCLUDED == TRUE
|
||||
|
||||
/*******************************************************************************
|
||||
** Functions used by both Full and Light Stack
|
||||
********************************************************************************/
|
||||
|
||||
Reference in New Issue
Block a user