Skip to content

Commit

Permalink
Merge branch 'bugfix/reduce_BTU_TASK_stack_consumption_v4.3' into 're…
Browse files Browse the repository at this point in the history
…lease/v4.3'

Reduce the stack consumption of BTU_TASK (backport v4.3)

See merge request espressif/esp-idf!21436
  • Loading branch information
wmy-espressif committed Dec 7, 2022
2 parents 8b7ae11 + 8ce5d11 commit 05c497e
Showing 1 changed file with 9 additions and 12 deletions.
21 changes: 9 additions & 12 deletions components/bt/host/bluedroid/bta/gatt/bta_gattc_act.c
Expand Up @@ -1182,27 +1182,24 @@ void bta_gattc_write(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
}

tBTA_GATT_STATUS status = BTA_GATT_OK;
tGATT_VALUE attr;

attr.conn_id = p_clcb->bta_conn_id;
attr.handle = p_data->api_write.handle;
attr.offset = p_data->api_write.offset;
attr.len = p_data->api_write.len;
attr.auth_req = p_data->api_write.auth_req;
tGATT_CL_COMPLETE cl_data = {0};

cl_data.att_value.conn_id = p_clcb->bta_conn_id;
cl_data.att_value.handle = p_data->api_write.handle;
cl_data.att_value.offset = p_data->api_write.offset;
cl_data.att_value.len = p_data->api_write.len;
cl_data.att_value.auth_req = p_data->api_write.auth_req;

if (p_data->api_write.p_value) {
memcpy(attr.value, p_data->api_write.p_value, p_data->api_write.len);
memcpy(cl_data.att_value.value, p_data->api_write.p_value, p_data->api_write.len);
}

status = GATTC_Write(p_clcb->bta_conn_id, p_data->api_write.write_type, &attr);
status = GATTC_Write(p_clcb->bta_conn_id, p_data->api_write.write_type, &cl_data.att_value);

/* write fail */
if (status != BTA_GATT_OK) {

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);
}
}
Expand Down

0 comments on commit 05c497e

Please sign in to comment.