From 82f2bb99ae8440439491af7c20c13bd89d53e713 Mon Sep 17 00:00:00 2001 From: Rafaël Carré Date: Sun, 20 Mar 2011 17:04:31 +0000 Subject: SD AMSv2: fix r29169 Restore access to the last AMS_OF_SIZE == 0xF000 sectors of internal drive Mostly visible when using USB (or database?) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29625 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/as3525/sd-as3525v2.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/firmware/target/arm/as3525/sd-as3525v2.c b/firmware/target/arm/as3525/sd-as3525v2.c index 39c5a01913..b0808ca1d3 100644 --- a/firmware/target/arm/as3525/sd-as3525v2.c +++ b/firmware/target/arm/as3525/sd-as3525v2.c @@ -845,6 +845,12 @@ static int sd_transfer_sectors(IF_MD2(int drive,) unsigned long start, goto sd_transfer_error_no_dma; } + if((start+count) > card_info[drive].numblocks) + { + ret = -19; + goto sd_transfer_error_no_dma; + } + /* skip SanDisk OF */ if (drive == INTERNAL_AS3525) start += AMS_OF_SIZE; @@ -861,12 +867,6 @@ sd_transfer_retry_with_reinit: goto sd_transfer_error_no_dma; } - if((start+count) > card_info[drive].numblocks) - { - ret = -19; - goto sd_transfer_error_no_dma; - } - /* CMD7 w/rca: Select card to put it in TRAN state */ if(!send_cmd(drive, SD_SELECT_CARD, card_info[drive].rca, MCI_NO_RESP, NULL)) { -- cgit v1.2.3