Sfoglia il codice sorgente

esp_https_ota: fix bug where `http_client_init_cb` is called after `esp_http_client_perform()` instead of before.

Closes https://github.com/espressif/esp-idf/issues/9581
Harshit Malpani 3 anni fa
parent
commit
1c92feae38
1 ha cambiato i file con 8 aggiunte e 8 eliminazioni
  1. 8 8
      components/esp_https_ota/src/esp_https_ota.c

+ 8 - 8
components/esp_https_ota/src/esp_https_ota.c

@@ -254,6 +254,14 @@ esp_err_t esp_https_ota_begin(const esp_https_ota_config_t *ota_config, esp_http
         goto failure;
     }
 
+    if (ota_config->http_client_init_cb) {
+        err = ota_config->http_client_init_cb(https_ota_handle->http_client);
+        if (err != ESP_OK) {
+            ESP_LOGE(TAG, "http_client_init_cb returned 0x%x", err);
+            goto http_cleanup;
+        }
+    }
+
     if (https_ota_handle->partial_http_download) {
         esp_http_client_set_method(https_ota_handle->http_client, HTTP_METHOD_HEAD);
         err = esp_http_client_perform(https_ota_handle->http_client);
@@ -286,14 +294,6 @@ esp_err_t esp_https_ota_begin(const esp_https_ota_config_t *ota_config, esp_http
         esp_http_client_set_method(https_ota_handle->http_client, HTTP_METHOD_GET);
     }
 
-    if (ota_config->http_client_init_cb) {
-        err = ota_config->http_client_init_cb(https_ota_handle->http_client);
-        if (err != ESP_OK) {
-            ESP_LOGE(TAG, "http_client_init_cb returned 0x%x", err);
-            goto http_cleanup;
-        }
-    }
-
     err = _http_connect(https_ota_handle->http_client);
     if (err != ESP_OK) {
         ESP_LOGE(TAG, "Failed to establish HTTP connection");