mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-13 19:00:21 +00:00
The code generally invoked qspi_wait_for_completion() within a locked region without verifying that an operation was successfully initiated. This caused a deadlock whenever the operation failed, e.g. because the data buffer was not 4-byte aligned. Update that function to take the result of the operation and either wait for completion or release the lock, depending on its value. Also uniformly use the correct type for Nordic HAL error values, and refactor the erase module so that the correct values are displayed in the diagnostic when something goes wrong. Also check the alignment requirements for the flash address and transfer size, which are highly constrained on this device. This driver also requires 4-byte aligned data buffer; this is checked in the Nordic HAL. Signed-off-by: Peter A. Bigot <pab@pabigot.com> |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
flash_gecko.c | ||
flash_handlers.c | ||
flash_page_layout.c | ||
flash_priv.h | ||
flash_sam.c | ||
flash_sam0.c | ||
flash_shell.c | ||
flash_simulator.c | ||
flash_stm32.c | ||
flash_stm32.h | ||
flash_stm32f1x.c | ||
flash_stm32f3x.c | ||
flash_stm32f4x.c | ||
flash_stm32f7x.c | ||
flash_stm32f0x.c | ||
flash_stm32g4x.c | ||
flash_stm32g0x.c | ||
flash_stm32l4x.c | ||
flash_stm32wbx.c | ||
Kconfig | ||
Kconfig.gecko | ||
Kconfig.mcux | ||
Kconfig.nios2_qspi | ||
Kconfig.nor | ||
Kconfig.nordic_qspi_nor | ||
Kconfig.nrf | ||
Kconfig.rv32m1 | ||
Kconfig.sam | ||
Kconfig.sam0 | ||
Kconfig.simulator | ||
Kconfig.stm32 | ||
Kconfig.w25qxxdv | ||
nrf_qspi_nor.c | ||
soc_flash_mcux.c | ||
soc_flash_nios2_qspi.c | ||
soc_flash_nrf.c | ||
soc_flash_rv32m1.c | ||
spi_flash_w25qxxdv_defs.h | ||
spi_flash_w25qxxdv.c | ||
spi_flash_w25qxxdv.h | ||
spi_nor.c | ||
spi_nor.h |