diff options
Diffstat (limited to 'os/io/mmc_spi.c')
-rw-r--r-- | os/io/mmc_spi.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/os/io/mmc_spi.c b/os/io/mmc_spi.c index 4013f45f5..4f6adaf7d 100644 --- a/os/io/mmc_spi.c +++ b/os/io/mmc_spi.c @@ -488,7 +488,7 @@ bool_t mmcStartSequentialWrite(MMCDriver *mmcp, uint32_t startblk) { if (recvr1(mmcp) != 0x00) {
spiUnselect(mmcp->mmc_spip);
chSysLock();
- if (mmcp->mmc_state == MMC_READING)
+ if (mmcp->mmc_state == MMC_WRITING)
mmcp->mmc_state = MMC_READY;
chSysUnlock();
return TRUE;
@@ -560,8 +560,11 @@ bool_t mmcStopSequentialWrite(MMCDriver *mmcp) { spiUnselect(mmcp->mmc_spip);
chSysLock();
- if (mmcp->mmc_state == MMC_WRITING)
+ if (mmcp->mmc_state == MMC_WRITING) {
mmcp->mmc_state = MMC_READY;
+ chSysUnlock();
+ return FALSE;
+ }
chSysUnlock();
return TRUE;
}
|