From: Soumyajyotii Ssarkar <[email protected]> Set command_complete flag after status_phase and use_phase_clearing, instead of full disconnect during message processing.
Signed-off-by: Soumyajyotii Ssarkar <[email protected]> Reviewed-by: Helge Deller <[email protected]> Tested-by: Helge Deller <[email protected]> Signed-off-by: Helge Deller <[email protected]> --- hw/scsi/ncr53c710.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/scsi/ncr53c710.c b/hw/scsi/ncr53c710.c index 4b42fab754..3d7318c12e 100644 --- a/hw/scsi/ncr53c710.c +++ b/hw/scsi/ncr53c710.c @@ -997,6 +997,7 @@ static void ncr710_do_status(NCR710State *s) ncr710_set_phase(s, PHASE_MI); s->msg_action = NCR710_MSG_ACTION_DISCONNECT; ncr710_add_msg_byte(s, 0); /* COMMAND COMPLETE */ + s->command_complete = NCR710_CMD_COMPLETE; } static void ncr710_do_msgin(NCR710State *s) @@ -1041,7 +1042,7 @@ static void ncr710_do_msgin(NCR710State *s) ncr710_set_phase(s, PHASE_CO); break; case NCR710_MSG_ACTION_DISCONNECT: - ncr710_disconnect(s); + s->sstat2 &= ~PHASE_MASK; break; case NCR710_MSG_ACTION_DATA_OUT: ncr710_set_phase(s, PHASE_DO); -- 2.52.0
