diff options
Diffstat (limited to 'firmware/target/arm/as3525/sd-as3525v2.c')
-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, | |||
845 | goto sd_transfer_error_no_dma; | 845 | goto sd_transfer_error_no_dma; |
846 | } | 846 | } |
847 | 847 | ||
848 | if((start+count) > card_info[drive].numblocks) | ||
849 | { | ||
850 | ret = -19; | ||
851 | goto sd_transfer_error_no_dma; | ||
852 | } | ||
853 | |||
848 | /* skip SanDisk OF */ | 854 | /* skip SanDisk OF */ |
849 | if (drive == INTERNAL_AS3525) | 855 | if (drive == INTERNAL_AS3525) |
850 | start += AMS_OF_SIZE; | 856 | start += AMS_OF_SIZE; |
@@ -861,12 +867,6 @@ sd_transfer_retry_with_reinit: | |||
861 | goto sd_transfer_error_no_dma; | 867 | goto sd_transfer_error_no_dma; |
862 | } | 868 | } |
863 | 869 | ||
864 | if((start+count) > card_info[drive].numblocks) | ||
865 | { | ||
866 | ret = -19; | ||
867 | goto sd_transfer_error_no_dma; | ||
868 | } | ||
869 | |||
870 | /* CMD7 w/rca: Select card to put it in TRAN state */ | 870 | /* CMD7 w/rca: Select card to put it in TRAN state */ |
871 | if(!send_cmd(drive, SD_SELECT_CARD, card_info[drive].rca, MCI_NO_RESP, NULL)) | 871 | if(!send_cmd(drive, SD_SELECT_CARD, card_info[drive].rca, MCI_NO_RESP, NULL)) |
872 | { | 872 | { |