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

This commit is contained in:
Adam Múdry
2026-07-13 12:13:06 +02:00
parent be916bf9e7
commit dff55fa667
+6 -3
View File
@@ -533,7 +533,8 @@ esp_err_t sdmmc_write_sectors_dma(sdmmc_card_t* card, const void* src,
vTaskDelay(1); // when the host is in spi mode vTaskDelay(1); // when the host is in spi mode
} }
size_t successfully_written_blocks = 0; 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); ESP_LOGD(TAG, "%s: successfully wrote %zu blocks out of %zu", __func__, successfully_written_blocks, block_count);
} else { } else {
ESP_LOGE(TAG, "%s: sdmmc_send_cmd_num_of_written_blocks returned 0x%x", __func__, err); ESP_LOGE(TAG, "%s: sdmmc_send_cmd_num_of_written_blocks returned 0x%x", __func__, err);
@@ -549,7 +550,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 */ /* SD mode: wait for the card to become idle based on R1 status */
if (!host_is_spi(card)) { if (!host_is_spi(card)) {
switch (sdmmc_wait_for_idle(card, status)) { err = sdmmc_wait_for_idle(card, status);
switch (err) {
case ESP_OK: case ESP_OK:
break; break;
case ESP_ERR_TIMEOUT: 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 */ /* SD mode: wait for the card to become idle based on R1 status */
if (!host_is_spi(card)) { if (!host_is_spi(card)) {
switch (sdmmc_wait_for_idle(card, status)) { err = sdmmc_wait_for_idle(card, status);
switch (err) {
case ESP_OK: case ESP_OK:
break; break;
case ESP_ERR_TIMEOUT: case ESP_ERR_TIMEOUT: