From 4ac4e7281a2dd1ca5158812198c4d2cbacf2ae25 Mon Sep 17 00:00:00 2001 From: John Snow Date: Tue, 20 Oct 2020 16:02:40 -0400 Subject: [PATCH] ide: run diagnostic after SRST Software reset (SRST) should cause the diagnostic command to be run. Make an explicit call to that routine. Reported-by: Mark Cave-Ayland Tested-by: Mark Cave-Ayland Signed-off-by: John Snow Message-id: 20201020200242.1497705-2-jsnow@redhat.com Fixes: 55adb3c45620c31f29978f209e2a44a08d34e2da Fixes: https://bugs.launchpad.net/bugs/1900155 Tested-by: Mark Cave-Ayland Signed-off-by: John Snow --- hw/ide/core.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/hw/ide/core.c b/hw/ide/core.c index 693b352d5e..84e887d426 100644 --- a/hw/ide/core.c +++ b/hw/ide/core.c @@ -2254,10 +2254,8 @@ static void ide_perform_srst(IDEState *s) /* Cancel PIO callback, reset registers/signature, etc */ ide_reset(s); - if (s->drive_kind == IDE_CD) { - /* ATAPI drives do not set READY or SEEK */ - s->status = 0x00; - } + /* perform diagnostic */ + cmd_exec_dev_diagnostic(s, WIN_DIAGNOSE); } static void ide_bus_perform_srst(void *opaque)