summaryrefslogtreecommitdiffstats
path: root/hw/lsi53c895a.c
diff options
context:
space:
mode:
authorJan Kiszka2010-05-04 14:21:01 +0200
committerAnthony Liguori2010-05-10 18:36:03 +0200
commitd43ba0af97646e36b6309292d30ee13b0948b1f8 (patch)
tree1ec6ae9bb512aa4bc1317dc142f7979e3de83d67 /hw/lsi53c895a.c
parentscsi-disk: Clear aiocb on read completion (diff)
downloadqemu-d43ba0af97646e36b6309292d30ee13b0948b1f8.tar.gz
qemu-d43ba0af97646e36b6309292d30ee13b0948b1f8.tar.xz
qemu-d43ba0af97646e36b6309292d30ee13b0948b1f8.zip
lsi: Purge message queue on reset
Declare the input message queue empty and initialize the related state machine properly on controller reset. This fixes unrecoverable errors when the controller was reset during ongoing requests. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hw/lsi53c895a.c')
-rw-r--r--hw/lsi53c895a.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/lsi53c895a.c b/hw/lsi53c895a.c
index 85eea150c8..61de23ea7e 100644
--- a/hw/lsi53c895a.c
+++ b/hw/lsi53c895a.c
@@ -288,6 +288,8 @@ static void lsi_soft_reset(LSIState *s)
DPRINTF("Reset\n");
s->carry = 0;
+ s->msg_action = 0;
+ s->msg_len = 0;
s->waiting = 0;
s->dsa = 0;
s->dnad = 0;