More READ CD fixes.

This commit is contained in:
OBattler
2022-01-10 19:53:07 +01:00
parent 273d5af048
commit 28b772b1f7
2 changed files with 16 additions and 4 deletions

View File

@@ -1626,8 +1626,14 @@ scsi_cdrom_command(scsi_common_t *sc, uint8_t *cdb)
msf = 1;
if ((cdb[9] & 0xf8) == 0x08) {
/* 0x08 is an illegal mode */
scsi_cdrom_invalid_field(dev);
break;
}
/* If all the flag bits are cleared, then treat it as a non-data command. */
if (cdb[9] == 0x00)
if ((cdb[9] == 0x00) && ((cdb[10] & 0x07) == 0x00))
dev->sector_len = 0;
break;
case GPCMD_READ_CD_OLD:
@@ -1638,8 +1644,14 @@ scsi_cdrom_command(scsi_common_t *sc, uint8_t *cdb)
msf = 0;
if ((cdb[9] & 0xf8) == 0x08) {
/* 0x08 is an illegal mode */
scsi_cdrom_invalid_field(dev);
break;
}
/* If all the flag bits are cleared, then treat it as a non-data command. */
if (cdb[9] == 0x00)
if ((cdb[9] == 0x00) && ((cdb[10] & 0x07) == 0x00))
dev->sector_len = 0;
break;
}