Explorar el Código

Fixed sometimes BTU task overflow when doing read and write performance test

zwj hace 3 años
padre
commit
d074b74e1f
Se han modificado 1 ficheros con 5 adiciones y 24 borrados
  1. 5 24
      components/bt/host/bluedroid/bta/gatt/bta_gattc_act.c

+ 5 - 24
components/bt/host/bluedroid/bta/gatt/bta_gattc_act.c

@@ -1107,12 +1107,6 @@ void bta_gattc_read(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
 
         /* read fail */
         if (status != BTA_GATT_OK) {
-            /* Dequeue the data, if it was enqueued */
-            if (p_clcb->p_q_cmd == p_data) {
-                p_clcb->p_q_cmd = NULL;
-                bta_gattc_pop_command_to_send(p_clcb);
-            }
-
             bta_gattc_cmpl_sendmsg(p_clcb->bta_conn_id, GATTC_OPTYPE_READ, status, NULL);
         }
 }
@@ -1142,12 +1136,6 @@ void bta_gattc_read_by_type(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
 
     /* read fail */
     if (status != BTA_GATT_OK) {
-        /* Dequeue the data, if it was enqueued */
-        if (p_clcb->p_q_cmd == p_data) {
-            p_clcb->p_q_cmd = NULL;
-            bta_gattc_pop_command_to_send(p_clcb);
-        }
-
         bta_gattc_cmpl_sendmsg(p_clcb->bta_conn_id, GATTC_OPTYPE_READ, status, NULL);
     }
 }
@@ -1178,12 +1166,6 @@ void bta_gattc_read_multi(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
 
         /* read fail */
         if (status != BTA_GATT_OK) {
-            /* Dequeue the data, if it was enqueued */
-            if (p_clcb->p_q_cmd == p_data) {
-                p_clcb->p_q_cmd = NULL;
-                bta_gattc_pop_command_to_send(p_clcb);
-            }
-
             bta_gattc_cmpl_sendmsg(p_clcb->bta_conn_id, GATTC_OPTYPE_READ, status, NULL);
         }
     }
@@ -1220,13 +1202,12 @@ void bta_gattc_write(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
 
     /* write fail */
     if (status != BTA_GATT_OK) {
-        /* Dequeue the data, if it was enqueued */
-        if (p_clcb->p_q_cmd == p_data) {
-            p_clcb->p_q_cmd = NULL;
-            bta_gattc_pop_command_to_send(p_clcb);
-        }
 
-        bta_gattc_cmpl_sendmsg(p_clcb->bta_conn_id, GATTC_OPTYPE_WRITE, status, NULL);
+        tGATT_CL_COMPLETE cl_data = {0};
+        cl_data.handle = p_data->api_write.handle;
+        memcpy(&cl_data.att_value, &attr, sizeof(tGATT_VALUE));
+
+        bta_gattc_cmpl_sendmsg(p_clcb->bta_conn_id, GATTC_OPTYPE_WRITE, status, &cl_data);
     }
 }
 /*******************************************************************************