diff options
author | John Snow <jsnow@redhat.com> | 2020-10-20 16:02:42 -0400 |
---|---|---|
committer | John Snow <jsnow@redhat.com> | 2020-10-27 10:39:06 -0400 |
commit | 1a9925e3390b6adf1125e3abaa17c80ca012bede (patch) | |
tree | 6a0c48403bee5780851ecb4f6f4d91a16bb0830c /hw/ide | |
parent | b45bcd81e05dea2781f2164ca1c9dd86069502ea (diff) | |
download | qemu-1a9925e3390b6adf1125e3abaa17c80ca012bede.zip qemu-1a9925e3390b6adf1125e3abaa17c80ca012bede.tar.gz qemu-1a9925e3390b6adf1125e3abaa17c80ca012bede.tar.bz2 |
ide: clear SRST after SRST finishes
The SRST protocol states that after diagnostics are complete and the
status is posted, we should clear the SRST bit if it should so happen to
be set.
The reset method itself should handle this, but just in case -- make our
intention explicit here.
Signed-off-by: John Snow <jsnow@redhat.com>
Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Message-id: 20201020200242.1497705-4-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>
Diffstat (limited to 'hw/ide')
-rw-r--r-- | hw/ide/core.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/ide/core.c b/hw/ide/core.c index 98cea7a..e858216 100644 --- a/hw/ide/core.c +++ b/hw/ide/core.c @@ -2268,6 +2268,8 @@ static void ide_bus_perform_srst(void *opaque) s = &bus->ifs[i]; ide_perform_srst(s); } + + bus->cmd &= ~IDE_CTRL_RESET; } void ide_ctrl_write(void *opaque, uint32_t addr, uint32_t val) |