From: Michael McMaster Date: Tue, 1 Sep 2020 13:03:55 +0000 (+1000) Subject: Increase limit of READ/WRITE BUFFER command for improved compatibility SGI Iris hosts X-Git-Tag: V6.3.2~1 X-Git-Url: http://git.codesrc.com/gitweb.cgi?a=commitdiff_plain;h=bb1e2477bda7ca103d04e208eeee0496560ea62c;p=SCSI2SD-V6.git Increase limit of READ/WRITE BUFFER command for improved compatibility SGI Iris hosts --- diff --git a/CHANGELOG b/CHANGELOG index e6dccb96..c99ebb8e 100644 --- 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. diff --git a/src/firmware/diagnostic.c b/src/firmware/diagnostic.c index 17d170b3..aeead0fc 100755 --- a/src/firmware/diagnostic.c +++ b/src/firmware/diagnostic.c @@ -154,7 +154,7 @@ void scsiReadBuffer() if (mode == 0) { - uint32_t maxSize = MAX_SECTOR_SIZE - 4; + uint32_t maxSize = sizeof(scsiDev.data) - 4; // 4 byte header scsiDev.data[0] = 0; scsiDev.data[1] = (maxSize >> 16) & 0xff; @@ -162,19 +162,19 @@ void scsiReadBuffer() scsiDev.data[3] = maxSize & 0xff; scsiDev.dataLen = - (allocLength > MAX_SECTOR_SIZE) ? MAX_SECTOR_SIZE : allocLength; + (allocLength > sizeof(scsiDev.data)) ? sizeof(scsiDev.data) : allocLength; scsiDev.phase = DATA_IN; } else if (mode == 0x2 && (scsiDev.cdb[2] == 0)) { // TODO support BUFFER OFFSET fields in CDB scsiDev.dataLen = - (allocLength > MAX_SECTOR_SIZE) ? MAX_SECTOR_SIZE : allocLength; + (allocLength > sizeof(scsiDev.data)) ? sizeof(scsiDev.data) : allocLength; scsiDev.phase = DATA_IN; } else if (mode == 0x3) { - uint32_t maxSize = MAX_SECTOR_SIZE - 4; + uint32_t maxSize = sizeof(scsiDev.data) - 4; // 4 byte header scsiDev.data[0] = 0; scsiDev.data[1] = (maxSize >> 16) & 0xff;