/******************************************************************************* ** ** Function l2c_process_timeout ** ** Description This function is called when an L2CAP-related timeout occurs ** ** Returns void ** *******************************************************************************/ void l2c_process_timeout (TIMER_LIST_ENT *p_tle) { /* What type of timeout ? */ switch (p_tle->event) { case BTU_TTYPE_L2CAP_LINK: l2c_link_timeout ((tL2C_LCB *)p_tle->param); break; case BTU_TTYPE_L2CAP_CHNL: l2c_csm_execute (((tL2C_CCB *)p_tle->param), L2CEVT_TIMEOUT, NULL); break; case BTU_TTYPE_L2CAP_FCR_ACK: l2c_csm_execute (((tL2C_CCB *)p_tle->param), L2CEVT_ACK_TIMEOUT, NULL); break; case BTU_TTYPE_L2CAP_HOLD: /* Update the timeouts in the hold queue */ l2c_process_held_packets(TRUE); break; case BTU_TTYPE_L2CAP_INFO: l2c_info_timeout((tL2C_LCB *)p_tle->param); break; } }
/******************************************************************************* ** ** Function l2c_process_timeout ** ** Description This function is called when an L2CAP-related timeout occurs ** ** Returns void ** *******************************************************************************/ void l2c_process_timeout (TIMER_LIST_ENT *p_tle) { /* What type of timeout ? */ switch (p_tle->event) { case BTU_TTYPE_L2CAP_LINK: l2c_link_timeout ((tL2C_LCB *)p_tle->param); break; #if (CLASSIC_BT_INCLUDED == TRUE) case BTU_TTYPE_L2CAP_CHNL: l2c_csm_execute (((tL2C_CCB *)p_tle->param), L2CEVT_TIMEOUT, NULL); break; case BTU_TTYPE_L2CAP_FCR_ACK: l2c_csm_execute (((tL2C_CCB *)p_tle->param), L2CEVT_ACK_TIMEOUT, NULL); break; #endif ///CLASSIC_BT_INCLUDED == TRUE case BTU_TTYPE_L2CAP_HOLD: /* Update the timeouts in the hold queue */ l2c_process_held_packets(TRUE); break; case BTU_TTYPE_L2CAP_INFO: l2c_info_timeout((tL2C_LCB *)p_tle->param); break; case BTU_TTYPE_L2CAP_UPDA_CONN_PARAMS: { UINT8 status = HCI_ERR_HOST_TIMEOUT; l2c_send_update_conn_params_cb((tL2C_LCB *)p_tle->param, status); break; } } }