diff --git a/devices/common/scsi/scsibus.cpp b/devices/common/scsi/scsibus.cpp index 2ae4993..a75f0d7 100644 --- a/devices/common/scsi/scsibus.cpp +++ b/devices/common/scsi/scsibus.cpp @@ -145,6 +145,9 @@ int ScsiBus::switch_phase(int id, int new_phase) case ScsiPhase::MESSAGE_OUT: this->release_ctrl_line(id, SCSI_CTRL_CD | SCSI_CTRL_MSG); break; + case ScsiPhase::MESSAGE_IN: + this->release_ctrl_line(id, SCSI_CTRL_CD | SCSI_CTRL_MSG | SCSI_CTRL_IO); + break; } // enter new phase (low-level) @@ -161,6 +164,9 @@ int ScsiBus::switch_phase(int id, int new_phase) case ScsiPhase::MESSAGE_OUT: this->assert_ctrl_line(id, SCSI_CTRL_CD | SCSI_CTRL_MSG); break; + case ScsiPhase::MESSAGE_IN: + this->assert_ctrl_line(id, SCSI_CTRL_CD | SCSI_CTRL_MSG | SCSI_CTRL_IO); + break; } // switch the bus to the new phase (high-level)