Kaynağa Gözat

sdmmc: Correctly check function parameters before using them

Closes https://github.com/espressif/esp-idf/pull/5000
Alexander Borsuk 5 yıl önce
ebeveyn
işleme
cccd679b3e
1 değiştirilmiş dosya ile 4 ekleme ve 4 silme
  1. 4 4
      components/driver/sdmmc_host.c

+ 4 - 4
components/driver/sdmmc_host.c

@@ -305,10 +305,6 @@ static void configure_pin(int pin)
 
 esp_err_t sdmmc_host_init_slot(int slot, const sdmmc_slot_config_t* slot_config)
 {
-    bool pullup = slot_config->flags & SDMMC_SLOT_FLAG_INTERNAL_PULLUP;
-    if (pullup) {
-        sdmmc_host_pullup_en(slot, slot_config->width);
-    }
     if (!s_intr_handle) {
         return ESP_ERR_INVALID_STATE;
     }
@@ -318,6 +314,10 @@ esp_err_t sdmmc_host_init_slot(int slot, const sdmmc_slot_config_t* slot_config)
     if (slot_config == NULL) {
         return ESP_ERR_INVALID_ARG;
     }
+    bool pullup = slot_config->flags & SDMMC_SLOT_FLAG_INTERNAL_PULLUP;
+    if (pullup) {
+        sdmmc_host_pullup_en(slot, slot_config->width);
+    }
     int gpio_cd = slot_config->gpio_cd;
     int gpio_wp = slot_config->gpio_wp;
     uint8_t slot_width = slot_config->width;