Merge branch 'bugfix/fix_arp_buffer_error_in_smart_config_v3.3' into 'release/v3.3'

bugfix/fix_arp_buffer_error_in_smart_config_v3.3

See merge request espressif/esp-idf!12291
This commit is contained in:
Jiang Jiang Jian
2021-04-22 05:50:23 +00:00

View File

@@ -118,8 +118,14 @@ static void sc_ack_send_task(void *pvParameters)
vTaskDelay(100 / portTICK_RATE_MS);
sendlen = sendto(send_sock, &ack->ctx, ack_len, 0, (struct sockaddr*) &server_addr, sin_size);
if (sendlen > 0) {
/* Totally send 30 smartconfig ACKs. Then smartconfig is successful. */
if (sendlen <= 0) {
err = sc_ack_send_get_errno(send_sock);
ESP_LOGD(TAG, "send failed, errno %d", err);
vTaskDelay(100 / portTICK_RATE_MS);
}
/* Send 30 smartconfig ACKs. Then smartconfig is successful. */
if (packet_count++ >= SC_ACK_MAX_COUNT) {
if (ack->link_flag) {
*ack->link_flag = 1;
@@ -130,16 +136,6 @@ static void sc_ack_send_task(void *pvParameters)
goto _end;
}
}
else {
err = sc_ack_send_get_errno(send_sock);
if (err == ENOMEM || err == EAGAIN) {
ESP_LOGD(TAG, "send failed, errno %d", err);
continue;
}
ESP_LOGE(TAG, "send failed, errno %d", err);
goto _end;
}
}
}
else {
vTaskDelay((portTickType)(100 / portTICK_RATE_MS));