diff options
Diffstat (limited to 'firmware/target/arm')
-rw-r--r-- | firmware/target/arm/as3525/sd-as3525v2.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/firmware/target/arm/as3525/sd-as3525v2.c b/firmware/target/arm/as3525/sd-as3525v2.c index 93dc7444c5..45b7b69be5 100644 --- a/firmware/target/arm/as3525/sd-as3525v2.c +++ b/firmware/target/arm/as3525/sd-as3525v2.c | |||
@@ -823,6 +823,7 @@ int sd_init(void) | |||
823 | static int sd_transfer_sectors(IF_MD2(int drive,) unsigned long start, | 823 | static int sd_transfer_sectors(IF_MD2(int drive,) unsigned long start, |
824 | int count, void* buf, bool write) | 824 | int count, void* buf, bool write) |
825 | { | 825 | { |
826 | unsigned long response; | ||
826 | int ret = 0; | 827 | int ret = 0; |
827 | #ifndef HAVE_MULTIDRIVE | 828 | #ifndef HAVE_MULTIDRIVE |
828 | const int drive = 0; | 829 | const int drive = 0; |
@@ -938,8 +939,7 @@ sd_transfer_retry_with_reinit: | |||
938 | dma_enable_channel(0, MCI_FIFO, dma_buf, DMA_PERI_SD, | 939 | dma_enable_channel(0, MCI_FIFO, dma_buf, DMA_PERI_SD, |
939 | DMAC_FLOWCTRL_PERI_PERI_TO_MEM, false, true, 0, DMA_S8, NULL); | 940 | DMAC_FLOWCTRL_PERI_PERI_TO_MEM, false, true, 0, DMA_S8, NULL); |
940 | 941 | ||
941 | unsigned long dummy; /* if we don't ask for a response, writing fails */ | 942 | if(!send_cmd(drive, cmd, arg, MCI_RESP, &response)) |
942 | if(!send_cmd(drive, cmd, arg, MCI_RESP, &dummy)) | ||
943 | { | 943 | { |
944 | ret = -21; | 944 | ret = -21; |
945 | goto sd_transfer_error; | 945 | goto sd_transfer_error; |
@@ -955,7 +955,7 @@ sd_transfer_retry_with_reinit: | |||
955 | while(MCI_STATUS & DATA_BUSY) ; | 955 | while(MCI_STATUS & DATA_BUSY) ; |
956 | } | 956 | } |
957 | 957 | ||
958 | if(!send_cmd(drive, SD_STOP_TRANSMISSION, 0, MCI_NO_RESP, NULL)) | 958 | if(!send_cmd(drive, SD_STOP_TRANSMISSION, 0, MCI_RESP, &response)) |
959 | { | 959 | { |
960 | ret = -22; | 960 | ret = -22; |
961 | goto sd_transfer_error; | 961 | goto sd_transfer_error; |