diff --git a/components/spi_flash/esp32s3/spi_flash_oct_flash_init.c b/components/spi_flash/esp32s3/spi_flash_oct_flash_init.c index ba78e0ed122..f55d562223d 100644 --- a/components/spi_flash/esp32s3/spi_flash_oct_flash_init.c +++ b/components/spi_flash/esp32s3/spi_flash_oct_flash_init.c @@ -219,6 +219,7 @@ static void s_flash_init_mxic(esp_rom_spiflash_read_mode_t mode) } #endif // #if CONFIG_SPI_FLASH_SUPPORT_MXIC_OPI_CHIP +#if CONFIG_SPI_FLASH_SUPPORT_MXIC_OPI_CHIP static void s_mxic_set_required_regs(uint32_t chip_id) { bool is_swap = false; @@ -230,6 +231,7 @@ static void s_mxic_set_required_regs(uint32_t chip_id) esp_rom_spi_set_dtr_swap_mode(0, is_swap, is_swap); esp_rom_spi_set_dtr_swap_mode(1, is_swap, is_swap); } +#endif /*---------------------------------------------------------------------------------------------------- diff --git a/components/spi_flash/spi_flash_chip_generic.c b/components/spi_flash/spi_flash_chip_generic.c index 78caec83b94..0d45e01100a 100644 --- a/components/spi_flash/spi_flash_chip_generic.c +++ b/components/spi_flash/spi_flash_chip_generic.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 */ @@ -604,7 +604,7 @@ esp_err_t spi_flash_chip_generic_write_encrypted(esp_flash_t *chip, const void * esp_flash_encryption->flash_encryption_data_prepare(address, (uint32_t *)data_bytes, block_size); err = chip->chip_drv->set_chip_write_protect(chip, false); if (err != ESP_OK) { - return err; + goto err_out; } // Waiting for encrypting buffer to finish and making result visible for SPI1 esp_flash_encryption->flash_encryption_done(); @@ -615,11 +615,11 @@ esp_err_t spi_flash_chip_generic_write_encrypted(esp_flash_t *chip, const void * err = chip->chip_drv->write(chip, (uint32_t *)data_bytes, address, length); if (err != ESP_OK) { - return err; + goto err_out; } err = chip->chip_drv->wait_idle(chip, chip->chip_drv->timeout->page_program_timeout); if (err != ESP_OK) { - return err; + goto err_out; } // Note: we don't wait for idle status here, because this way @@ -635,6 +635,11 @@ esp_err_t spi_flash_chip_generic_write_encrypted(esp_flash_t *chip, const void * esp_flash_encryption->flash_encryption_disable(); return err; + +err_out: + esp_flash_encryption->flash_encryption_destroy(); + esp_flash_encryption->flash_encryption_disable(); + return err; } #endif // !CONFIG_SPI_FLASH_ROM_IMPL || ESP_ROM_HAS_ENCRYPTED_WRITES_USING_LEGACY_DRV