@@ -3271,6 +3271,7 @@ static int pci_ide_load(QEMUFile* f, void *opaque, int version_id)
qemu_get_8s(f, &s->cmd);
qemu_get_8s(f, &drive1_selected);
s->cur_drive = &d->ide_if[i * 2 + (drive1_selected != 0)];
+ s[1].cmd = s[0].cmd;
}
/* per IDE drive data */
@@ -3755,6 +3756,7 @@ static int pmac_ide_load(QEMUFile *f, void *opaque, int version_id)
qemu_get_8s(f, &s->cmd);
qemu_get_8s(f, &drive1_selected);
s->cur_drive = &s[(drive1_selected != 0)];
+ s[1].cmd = s[0].cmd;
/* per IDE drive data */
for(i = 0; i < 2; i++) {
@@ -4196,6 +4198,7 @@ static int md_load(QEMUFile *f, void *opaque, int version_id)
qemu_get_8s(f, &s->ide->cmd);
qemu_get_8s(f, &drive1_selected);
s->ide->cur_drive = &s->ide[(drive1_selected != 0)];
+ s->ide[1].cmd = s->ide[0].cmd;
for (i = 0; i < 2; i ++)
ide_load(f, &s->ide[i], version_id);
ide_cmd_write() sets cmd field for both master and slave interface. Do the same when loading state. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- hw/ide.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-)