summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafaël Carré <rafael.carre@gmail.com>2010-03-18 16:40:21 +0000
committerRafaël Carré <rafael.carre@gmail.com>2010-03-18 16:40:21 +0000
commit004317a863233e0ba15532981cb5fb4e9bff4428 (patch)
treecd3a96a33af137acd8b76287570dce566cc6181c
parent016153a0b91040bde338e1d32e5e86bab6ce55ec (diff)
downloadrockbox-004317a863233e0ba15532981cb5fb4e9bff4428.tar.gz
rockbox-004317a863233e0ba15532981cb5fb4e9bff4428.zip
sd-as3525v2: correctly check send_cmd return value (which is boolean)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25246 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/target/arm/as3525/sd-as3525v2.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/firmware/target/arm/as3525/sd-as3525v2.c b/firmware/target/arm/as3525/sd-as3525v2.c
index 992db4d307..a440fb57ff 100644
--- a/firmware/target/arm/as3525/sd-as3525v2.c
+++ b/firmware/target/arm/as3525/sd-as3525v2.c
@@ -790,14 +790,12 @@ static int sd_transfer_sectors(IF_MD2(int drive,) unsigned long start,
790 MCI_FIFOTH |= 0x503f0080; 790 MCI_FIFOTH |= 0x503f0080;
791 791
792 792
793 if(card_info[drive].ocr & (1<<30) ) /* SDHC */ 793 int arg = start;
794 ret = send_cmd(drive, cmd, start, MCI_NO_RESP, NULL); 794 if(!(card_info[drive].ocr & (1<<30))) /* not SDHC */
795 else 795 arg *= SD_BLOCK_SIZE;
796 ret = send_cmd(drive, cmd, start * SD_BLOCK_SIZE,
797 MCI_NO_RESP, NULL);
798 796
799 if (ret < 0) 797 if(!send_cmd(drive, cmd, arg, MCI_NO_RESP, NULL))
800 panicf("transfer multiple blocks failed (%d)", ret); 798 panicf("%s multiple blocks failed", write ? "write" : "read");
801 799
802 if(write) 800 if(write)
803 dma_enable_channel(0, dma_buf, MCI_FIFO, DMA_PERI_SD, 801 dma_enable_channel(0, dma_buf, MCI_FIFO, DMA_PERI_SD,