Fixes #2154: USB mass storage problem with cards bigger than 4GB

This commit is contained in:
Damjan Adamic
2015-04-28 20:41:07 +02:00
parent 8343e57c1c
commit a1e467aaa0
@@ -511,7 +511,6 @@ static int8_t SCSI_Read10(uint8_t lun , uint8_t *params)
}
MSC_BOT_State = BOT_DATA_IN;
SCSI_blk_addr *= SCSI_blk_size;
SCSI_blk_len *= SCSI_blk_size;
/* cases 4,5 : Hi <> Dn */
@@ -583,7 +582,6 @@ static int8_t SCSI_Write10 (uint8_t lun , uint8_t *params)
return -1; /* error */
}
SCSI_blk_addr *= SCSI_blk_size;
SCSI_blk_len *= SCSI_blk_size;
/* cases 3,11,13 : Hn,Ho <> D0 */
@@ -672,7 +670,7 @@ static int8_t SCSI_ProcessRead (uint8_t lun)
if( USBD_STORAGE_fops->Read(lun ,
MSC_BOT_Data,
SCSI_blk_addr / SCSI_blk_size,
SCSI_blk_addr,
len / SCSI_blk_size) < 0)
{
@@ -687,7 +685,7 @@ static int8_t SCSI_ProcessRead (uint8_t lun)
len);
SCSI_blk_addr += len;
SCSI_blk_addr += len / SCSI_blk_size;
SCSI_blk_len -= len;
/* case 6 : Hi = Di */
@@ -715,7 +713,7 @@ static int8_t SCSI_ProcessWrite (uint8_t lun)
if(USBD_STORAGE_fops->Write(lun ,
MSC_BOT_Data,
SCSI_blk_addr / SCSI_blk_size,
SCSI_blk_addr,
len / SCSI_blk_size) < 0)
{
SCSI_SenseCode(lun, HARDWARE_ERROR, WRITE_FAULT);
@@ -723,7 +721,7 @@ static int8_t SCSI_ProcessWrite (uint8_t lun)
}
SCSI_blk_addr += len;
SCSI_blk_addr += len / SCSI_blk_size;
SCSI_blk_len -= len;
/* case 12 : Ho = Do */