From: Michael McMaster Date: Wed, 17 Aug 2016 10:38:13 +0000 (+1000) Subject: Fix SCSI timing errors - 45ns Hold Time and 90ns assertion/deassertion period now... X-Git-Tag: v6.0.8~4 X-Git-Url: http://git.codesrc.com/gitweb.cgi?a=commitdiff_plain;h=8e99561d3435b1841a4e2192e86087f2ca4bf138;p=SCSI2SD-V6.git Fix SCSI timing errors - 45ns Hold Time and 90ns assertion/deassertion period now observed. --- diff --git a/CHANGELOG b/CHANGELOG index 1f4f29cb..3bbc3afc 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,6 @@ +2016XXXX 6.0.7 + - Fix for accessing data via USB with more than 2 devices configured. + 20160815 6.0.6 - Fix performance bugs diff --git a/rtl/fpga_bitmap.o b/rtl/fpga_bitmap.o index 4e58623e..53348881 100644 Binary files a/rtl/fpga_bitmap.o and b/rtl/fpga_bitmap.o differ diff --git a/src/firmware/scsi.c b/src/firmware/scsi.c index d927aadb..bbb3e484 100755 --- a/src/firmware/scsi.c +++ b/src/firmware/scsi.c @@ -244,12 +244,15 @@ static void process_Command() scsiEnterPhase(COMMAND); scsiDev.parityError = 0; - memset(scsiDev.cdb, 0, sizeof(scsiDev.cdb)); - scsiDev.cdb[0] = scsiReadByte(); + memset(scsiDev.cdb + 6, 0, sizeof(scsiDev.cdb) - 6); + scsiRead(scsiDev.cdb, 6); group = scsiDev.cdb[0] >> 5; scsiDev.cdbLen = CmdGroupBytes[group]; - scsiRead(scsiDev.cdb + 1, scsiDev.cdbLen - 1); + if (scsiDev.cdbLen - 6 > 0) + { + scsiRead(scsiDev.cdb + 6, scsiDev.cdbLen - 6); + } command = scsiDev.cdb[0];