fix(sdmmc): sdmmc_cmd.c fixed error handling in certain if and switch statements

This commit is contained in:
Adam Múdry
2026-03-17 00:26:43 +01:00
parent 2757e0b87e
commit cfcfb3f9eb
+7 -4
View File
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2026 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -530,7 +530,8 @@ esp_err_t sdmmc_write_sectors_dma(sdmmc_card_t* card, const void* src,
vTaskDelay(1); // when the host is in spi mode
}
size_t successfully_written_blocks = 0;
if (sdmmc_send_cmd_num_of_written_blocks(card, &successfully_written_blocks) == ESP_OK) {
err = sdmmc_send_cmd_num_of_written_blocks(card, &successfully_written_blocks);
if (err == ESP_OK) {
ESP_LOGD(TAG, "%s: successfully wrote %zu blocks out of %zu", __func__, successfully_written_blocks, block_count);
} else {
ESP_LOGE(TAG, "%s: sdmmc_send_cmd_num_of_written_blocks returned 0x%x", __func__, err);
@@ -546,7 +547,8 @@ esp_err_t sdmmc_write_sectors_dma(sdmmc_card_t* card, const void* src,
/* SD mode: wait for the card to become idle based on R1 status */
if (!host_is_spi(card)) {
switch (sdmmc_wait_for_idle(card, status)) {
err = sdmmc_wait_for_idle(card, status);
switch (err) {
case ESP_OK:
break;
case ESP_ERR_TIMEOUT:
@@ -668,7 +670,8 @@ esp_err_t sdmmc_read_sectors_dma(sdmmc_card_t* card, void* dst,
/* SD mode: wait for the card to become idle based on R1 status */
if (!host_is_spi(card)) {
switch (sdmmc_wait_for_idle(card, status)) {
err = sdmmc_wait_for_idle(card, status);
switch (err) {
case ESP_OK:
break;
case ESP_ERR_TIMEOUT: