diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2013-03-29 10:40:40 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2013-03-29 10:40:40 +0000 |
commit | ddd663229597b4b680b0192933cd37d2189cbed3 (patch) | |
tree | c473a7391cdc904754960bd9f76b9f8c8e5c8bce /Bootloaders/MassStorage/Lib/SCSI.c | |
parent | 907cb2459c5ea18d9853367a30d94eb232652ca4 (diff) | |
download | lufa-ddd663229597b4b680b0192933cd37d2189cbed3.tar.gz lufa-ddd663229597b4b680b0192933cd37d2189cbed3.tar.bz2 lufa-ddd663229597b4b680b0192933cd37d2189cbed3.zip |
Oops - ensure the SCSI transfer length is correct in the Mass Storage bootloader.
Diffstat (limited to 'Bootloaders/MassStorage/Lib/SCSI.c')
-rw-r--r-- | Bootloaders/MassStorage/Lib/SCSI.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/Bootloaders/MassStorage/Lib/SCSI.c b/Bootloaders/MassStorage/Lib/SCSI.c index b23a5a07b..eeb2c252a 100644 --- a/Bootloaders/MassStorage/Lib/SCSI.c +++ b/Bootloaders/MassStorage/Lib/SCSI.c @@ -255,14 +255,12 @@ static bool SCSI_Command_ReadWrite_10(USB_ClassInfo_MS_Device_t* const MSInterfa } /* Determine if the packet is a READ (10) or WRITE (10) command, call appropriate function */ - while (TotalBlocks--) + for (uint16_t i = 0; i < TotalBlocks; i++) { if (IsDataRead == DATA_READ) - VirtualFAT_ReadBlock(BlockAddress); + VirtualFAT_ReadBlock(BlockAddress + i); else - VirtualFAT_WriteBlock(BlockAddress); - - BlockAddress++; + VirtualFAT_WriteBlock(BlockAddress + i); } /* Update the bytes transferred counter and succeed the command */ |