diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/target/arm/as3525/sd-as3525v2.c | 12 |
1 files 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)) { |