diff options
-rw-r--r-- | os/hal/platforms/STM32/sdc_lld.c | 8 | ||||
-rw-r--r-- | readme.txt | 2 |
2 files changed, 6 insertions, 4 deletions
diff --git a/os/hal/platforms/STM32/sdc_lld.c b/os/hal/platforms/STM32/sdc_lld.c index 69873d5f0..0ad164235 100644 --- a/os/hal/platforms/STM32/sdc_lld.c +++ b/os/hal/platforms/STM32/sdc_lld.c @@ -618,16 +618,16 @@ bool_t sdc_lld_read_aligned(SDCDriver *sdcp, uint32_t startblk, SDIO_MASK_DATAENDIE;
SDIO->DLEN = n * MMCSD_BLOCK_SIZE;
- /* Talk to card what we want from it.*/
- if (sdc_lld_prepare_read(sdcp, startblk, n, resp) == TRUE)
- goto error;
-
/* Transaction starts just after DTEN bit setting.*/
SDIO->DCTRL = SDIO_DCTRL_DTDIR |
SDIO_DCTRL_DBLOCKSIZE_3 |
SDIO_DCTRL_DBLOCKSIZE_0 |
SDIO_DCTRL_DMAEN |
SDIO_DCTRL_DTEN;
+
+ /* Talk to card what we want from it.*/
+ if (sdc_lld_prepare_read(sdcp, startblk, n, resp) == TRUE)
+ goto error;
if (sdc_lld_wait_transaction_end(sdcp, n, resp) == TRUE)
goto error;
diff --git a/readme.txt b/readme.txt index f94a041a0..da17204b0 100644 --- a/readme.txt +++ b/readme.txt @@ -89,6 +89,8 @@ *****************************************************************************
*** 2.7.0 ***
+- FIX: Fixed race condition in STM32 SDC driver (bug #458)(backported
+ to 2.6.3).
- FIX: Fixed race condition in STM32 OTG driver (bug #457)(backported
to 2.6.3).
- FIX: Fixed memstreams.c missing from simulator makefiles (bug #454)
|