From 2b6334f5de54c1c7dab4da241f233a466e959b3e Mon Sep 17 00:00:00 2001 From: funman Date: Sat, 15 May 2010 12:01:53 +0000 Subject: [PATCH] as3525: fix capacity sanity check adjust logical starting sector to physical starting sector after the check number of blocks is already adjusted from physical to logical don't panic anymore when accessing the last part of storage git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26050 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/as3525/sd-as3525.c | 8 ++++---- firmware/target/arm/as3525/sd-as3525v2.c | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/firmware/target/arm/as3525/sd-as3525.c b/firmware/target/arm/as3525/sd-as3525.c index 0cdc56f2c..dea4a578c 100644 --- a/firmware/target/arm/as3525/sd-as3525.c +++ b/firmware/target/arm/as3525/sd-as3525.c @@ -669,10 +669,6 @@ static int sd_transfer_sectors(IF_MD2(int drive,) unsigned long start, int ret = 0; unsigned loops = 0; - /* skip SanDisk OF */ - if (drive == INTERNAL_AS3525) - start += AMS_OF_SIZE; - mutex_lock(&sd_mtx); #ifndef BOOTLOADER sd_enable(true); @@ -692,6 +688,10 @@ static int sd_transfer_sectors(IF_MD2(int drive,) unsigned long start, goto sd_transfer_error; } + /* skip SanDisk OF */ + if (drive == INTERNAL_AS3525) + start += AMS_OF_SIZE; + last_disk_activity = current_tick; dma_retain(); diff --git a/firmware/target/arm/as3525/sd-as3525v2.c b/firmware/target/arm/as3525/sd-as3525v2.c index 8df947275..94ba01918 100644 --- a/firmware/target/arm/as3525/sd-as3525v2.c +++ b/firmware/target/arm/as3525/sd-as3525v2.c @@ -795,10 +795,6 @@ static int sd_transfer_sectors(IF_MD2(int drive,) unsigned long start, const int drive = 0; #endif - /* skip SanDisk OF */ - if (drive == INTERNAL_AS3525) - start += AMS_OF_SIZE; - mutex_lock(&sd_mtx); #ifndef BOOTLOADER sd_enable(true); @@ -821,6 +817,10 @@ static int sd_transfer_sectors(IF_MD2(int drive,) unsigned long start, goto sd_transfer_error; } + /* skip SanDisk OF */ + if (drive == INTERNAL_AS3525) + start += AMS_OF_SIZE; + /* 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)) return -19; -- 2.11.4.GIT