#include "bt_common.h"
#include "l2c_api.h"
#include "osi/include/log.h"
+#include "stack/l2cap/l2c_int.h"
#include "utl.h"
#if (defined BTA_HH_LE_INCLUDED && BTA_HH_LE_INCLUDED == TRUE)
else if (p_q_cmd != NULL)
{
p_clcb->p_q_cmd = NULL;
-
- bta_gattc_sm_execute(p_clcb, p_q_cmd->hdr.event, p_q_cmd);
+ /* execute pending operation of link block still present */
+ if (l2cu_find_lcb_by_bd_addr(p_clcb->p_srcb->server_bda, BT_TRANSPORT_LE) != NULL) {
+ bta_gattc_sm_execute(p_clcb, p_q_cmd->hdr.event, p_q_cmd);
+ }
/* if the command executed requeued the cmd, we don't
* want to free the underlying buffer that's being
* referenced by p_clcb->p_q_cmd
BOOLEAN bta_gattc_enqueue(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
{
- if (p_clcb->p_q_cmd == NULL)
- {
- p_clcb->p_q_cmd = p_data;
- }
- else
- {
- APPL_TRACE_ERROR("already has a pending command!!");
- /* skip the callback now. ----- need to send callback ? */
- }
- return (p_clcb->p_q_cmd != NULL) ? TRUE : FALSE;
+ if (p_clcb->p_q_cmd == NULL)
+ {
+ p_clcb->p_q_cmd = p_data;
+ return TRUE;
+ }
+ APPL_TRACE_ERROR ("%s: already has a pending command!!", __func__);
+ /* skip the callback now. ----- need to send callback ? */
+ return FALSE;
}
/*******************************************************************************