On 12/21/25 15:23, Soumyajyotii Ssarkar wrote:
> Set command_complete flag after status_phase and use_phase_clearing,
> instead of full disconnect during message processing
>
> Signed-off-by: Soumyajyotii Ssarkar<soumyajyotisarkar23@gmail.com>
Reviewed-by: Helge Deller <deller@gmx.de>
> ---
> 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);