Fix SCSI timing errors - 45ns Hold Time and 90ns assertion/deassertion period now...
authorMichael McMaster <michael@codesrc.com>
Wed, 17 Aug 2016 10:38:13 +0000 (20:38 +1000)
committerMichael McMaster <michael@codesrc.com>
Wed, 17 Aug 2016 10:38:13 +0000 (20:38 +1000)
CHANGELOG
rtl/fpga_bitmap.o
src/firmware/scsi.c

index 1f4f29c..3bbc3af 100644 (file)
--- 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
 
index 4e58623..5334888 100644 (file)
Binary files a/rtl/fpga_bitmap.o and b/rtl/fpga_bitmap.o differ
index d927aad..bbb3e48 100755 (executable)
@@ -244,12 +244,15 @@ static void process_Command()
        scsiEnterPhase(COMMAND);\r
        scsiDev.parityError = 0;\r
 \r
-       memset(scsiDev.cdb, 0, sizeof(scsiDev.cdb));\r
-       scsiDev.cdb[0] = scsiReadByte();\r
+       memset(scsiDev.cdb + 6, 0, sizeof(scsiDev.cdb) - 6);\r
+       scsiRead(scsiDev.cdb, 6);\r
 \r
        group = scsiDev.cdb[0] >> 5;\r
        scsiDev.cdbLen = CmdGroupBytes[group];\r
-       scsiRead(scsiDev.cdb + 1, scsiDev.cdbLen - 1);\r
+       if (scsiDev.cdbLen - 6 > 0)\r
+       {\r
+               scsiRead(scsiDev.cdb + 6, scsiDev.cdbLen - 6);\r
+       }\r
 \r
        command = scsiDev.cdb[0];\r
 \r