diff --git a/src/cdrom/cdrom.c b/src/cdrom/cdrom.c index 4d1571491..d03b513e0 100644 --- a/src/cdrom/cdrom.c +++ b/src/cdrom/cdrom.c @@ -2366,6 +2366,8 @@ void cdrom_command(uint8_t id, uint8_t *cdb) msf = cdb[1] & 2; cdrom[id].sector_len = 0; + SCSIPhase = SCSI_PHASE_STATUS; + /* This handles the Not Ready/Unit Attention check if it has to be handled at this point. */ if (cdrom_pre_execution_check(id, cdb) == 0) { diff --git a/src/scsi/scsi_device.c b/src/scsi/scsi_device.c index d6207ee9e..c59cd70d6 100644 --- a/src/scsi/scsi_device.c +++ b/src/scsi/scsi_device.c @@ -46,6 +46,7 @@ static void scsi_device_target_command(int lun_type, uint8_t id, uint8_t *cdb) } else { + SCSIPhase = SCSI_PHASE_STATUS; SCSIStatus = SCSI_STATUS_CHECK_CONDITION; } } diff --git a/src/scsi/scsi_disk.c b/src/scsi/scsi_disk.c index 20beb77de..c50c43e2f 100644 --- a/src/scsi/scsi_disk.c +++ b/src/scsi/scsi_disk.c @@ -1441,6 +1441,8 @@ void scsi_hd_command(uint8_t id, uint8_t *cdb) shdc[id].sector_len = 0; + SCSIPhase = SCSI_PHASE_STATUS; + /* This handles the Not Ready/Unit Attention check if it has to be handled at this point. */ if (scsi_hd_pre_execution_check(id, cdb) == 0) {