]> git.proxmox.com Git - mirror_qemu.git/commitdiff
ide: run diagnostic after SRST
authorJohn Snow <jsnow@redhat.com>
Tue, 20 Oct 2020 20:02:40 +0000 (16:02 -0400)
committerJohn Snow <jsnow@redhat.com>
Tue, 27 Oct 2020 14:39:06 +0000 (10:39 -0400)
Software reset (SRST) should cause the diagnostic command to be run. Make an
explicit call to that routine.

Reported-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: John Snow <jsnow@redhat.com>
Message-id: 20201020200242.1497705-2-jsnow@redhat.com
Fixes: 55adb3c45620c31f29978f209e2a44a08d34e2da
Fixes: https://bugs.launchpad.net/bugs/1900155
Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: John Snow <jsnow@redhat.com>
hw/ide/core.c

index 693b352d5ebe22f443ebae089989b03128514320..84e887d4269d7627fb0fc0983137a7511ecf74d3 100644 (file)
@@ -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)