summaryrefslogtreecommitdiffstats
path: root/hw
diff options
context:
space:
mode:
authorMark Cave-Ayland2021-05-18 23:25:10 +0200
committerPaolo Bonzini2021-06-15 17:17:09 +0200
commitcf1a7a9b3721544aaa3e43d111eb383c30d71a62 (patch)
treee0790f181277fa47a386077e194fb445fe6b3ca1 /hw
parentrunstate: Initialize Error * to NULL (diff)
downloadqemu-cf1a7a9b3721544aaa3e43d111eb383c30d71a62.tar.gz
qemu-cf1a7a9b3721544aaa3e43d111eb383c30d71a62.tar.xz
qemu-cf1a7a9b3721544aaa3e43d111eb383c30d71a62.zip
esp: only assert INTR_DC interrupt flag if selection fails
The datasheet sequence tables confirm that when a target selection fails, only the INTR_DC interrupt flag should be asserted. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Fixes: cf47a41e05 ("esp: latch individual bits in ESP_RINTR register") Message-Id: <20210518212511.21688-2-mark.cave-ayland@ilande.co.uk> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw')
-rw-r--r--hw/scsi/esp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c
index b668acef82..000e45a624 100644
--- a/hw/scsi/esp.c
+++ b/hw/scsi/esp.c
@@ -213,7 +213,7 @@ static int esp_select(ESPState *s)
if (!s->current_dev) {
/* No such drive */
s->rregs[ESP_RSTAT] = 0;
- s->rregs[ESP_RINTR] |= INTR_DC;
+ s->rregs[ESP_RINTR] = INTR_DC;
s->rregs[ESP_RSEQ] = SEQ_0;
esp_raise_irq(s);
return -1;