From e55f0da7c71cc2d9833921b38cf1ed23c2dfe38b Mon Sep 17 00:00:00 2001 From: Florent Kermarrec Date: Fri, 24 Mar 2023 08:39:24 +0100 Subject: [PATCH] software/liblitesdcard: Only use sdcard_stop_transmission when nblocks > 1 (thanks @bayi). Similar to what is already done for reads. --- litex/soc/software/liblitesdcard/sdcard.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/litex/soc/software/liblitesdcard/sdcard.c b/litex/soc/software/liblitesdcard/sdcard.c index b030dca39..990d20572 100644 --- a/litex/soc/software/liblitesdcard/sdcard.c +++ b/litex/soc/software/liblitesdcard/sdcard.c @@ -552,7 +552,8 @@ void sdcard_write(uint32_t block, uint32_t count, uint8_t* buf) sdcard_write_single_block(block); /* Stop transmission (Only for multiple block writes) */ - sdcard_stop_transmission(); + if (nblocks > 1) + sdcard_stop_transmission(); /* Wait for DMA Reader to complete */ while ((sdmem2block_dma_done_read() & 0x1) == 0);