diff --git a/CHANGELOG.md b/CHANGELOG.md index 3db11ee84..4511c597e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## Unreleased +### Bug Fixes + +- SDMMC: fix an issue where status flags were optimized out, resulting in very long while loops + ## v8.0.0 ### Features diff --git a/src/util/sd_diskio.c b/src/util/sd_diskio.c index e8310bd20..ff62b2bb6 100644 --- a/src/util/sd_diskio.c +++ b/src/util/sd_diskio.c @@ -57,8 +57,8 @@ /* Disk status */ static volatile DSTATUS Stat = STA_NOINIT; //static volatile UINT WriteStatus = 0, ReadStatus = 0; -static uint32_t WriteStatus = 0; -static uint32_t ReadStatus = 0; +static volatile uint32_t WriteStatus = 0; +static volatile uint32_t ReadStatus = 0; /* Private function prototypes -----------------------------------------------*/ static DSTATUS SD_CheckStatus(BYTE lun); DSTATUS SD_initialize(BYTE);