Increase limit of READ/WRITE BUFFER command for improved compatibility SGI Iris hosts
authorMichael McMaster <michael@codesrc.com>
Tue, 1 Sep 2020 13:03:55 +0000 (23:03 +1000)
committerMichael McMaster <michael@codesrc.com>
Tue, 1 Sep 2020 13:04:34 +0000 (23:04 +1000)
CHANGELOG
src/firmware/diagnostic.c

index e6dccb965ddb1a8ca13645ed1af1f21674e92521..c99ebb8ea1d53ee39bb379ef9d65e25123dec11d 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,7 @@
+2020xxxx               6.X.X
+       - Increase limit of READ/WRITE BUFFER command for improved compatibility
+       SGI Iris hosts
+
 20200419               6.3.1
        - Added checks to ensure the correct firmware version is loaded.
        V6 Rev.f and older boards need the "firmware.V6.revF.dfu" firmware updates.
index 17d170b3dea8fed70e5b07ea41890e2406f73d44..aeead0fcd5143850310a2a9d73c1446aa12d4edf 100755 (executable)
@@ -154,7 +154,7 @@ void scsiReadBuffer()
 \r
        if (mode == 0)\r
        {\r
-               uint32_t maxSize = MAX_SECTOR_SIZE - 4;\r
+               uint32_t maxSize = sizeof(scsiDev.data) - 4;\r
                // 4 byte header\r
                scsiDev.data[0] = 0;\r
                scsiDev.data[1] = (maxSize >> 16) & 0xff;\r
@@ -162,19 +162,19 @@ void scsiReadBuffer()
                scsiDev.data[3] = maxSize & 0xff;\r
 \r
                scsiDev.dataLen =\r
-                       (allocLength > MAX_SECTOR_SIZE) ? MAX_SECTOR_SIZE : allocLength;\r
+                       (allocLength > sizeof(scsiDev.data)) ? sizeof(scsiDev.data) : allocLength;\r
                scsiDev.phase = DATA_IN;\r
        }\r
        else if (mode == 0x2 && (scsiDev.cdb[2] == 0))\r
        {\r
                // TODO support BUFFER OFFSET fields in CDB\r
                scsiDev.dataLen =\r
-                       (allocLength > MAX_SECTOR_SIZE) ? MAX_SECTOR_SIZE : allocLength;\r
+                       (allocLength > sizeof(scsiDev.data)) ? sizeof(scsiDev.data) : allocLength;\r
                scsiDev.phase = DATA_IN;\r
        }\r
        else if (mode == 0x3)\r
        {\r
-               uint32_t maxSize = MAX_SECTOR_SIZE - 4;\r
+               uint32_t maxSize = sizeof(scsiDev.data) - 4;\r
                // 4 byte header\r
                scsiDev.data[0] = 0;\r
                scsiDev.data[1] = (maxSize >> 16) & 0xff;\r