From cfcfb3f9ebdd56cc5c64debb8cde232e793579b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20M=C3=BAdry?= Date: Tue, 17 Mar 2026 00:26:43 +0100 Subject: [PATCH] fix(sdmmc): sdmmc_cmd.c fixed error handling in certain if and switch statements --- components/sdmmc/sdmmc_cmd.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/components/sdmmc/sdmmc_cmd.c b/components/sdmmc/sdmmc_cmd.c index ba96b80b02..c81dbe1e0b 100644 --- a/components/sdmmc/sdmmc_cmd.c +++ b/components/sdmmc/sdmmc_cmd.c @@ -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: