summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2011-08-24 05:28:52 +0000
committerAlexander Graf <agraf@suse.de>2011-10-06 09:48:05 +0200
commit702cf8a1663cf8d9249e53bf93ce816cb7b66f49 (patch)
treecc98cc6ed5f51a952f401682ab2a4b0405427bb4
parent750b408b70dc18722c28ca03bf3b8c6d7b99f803 (diff)
downloadqemu-702cf8a1663cf8d9249e53bf93ce816cb7b66f49.tar.gz
qemu-702cf8a1663cf8d9249e53bf93ce816cb7b66f49.tar.bz2
qemu-702cf8a1663cf8d9249e53bf93ce816cb7b66f49.zip
vscsi: send the CHECK_CONDITION status down together with autosense data
I introduced this bug in commit 05751d3 (vscsi: always use get_sense, 2011-08-03) because at the time there was no way to expose a sense condition to SLOF and Linux manages to work around the bug. However, the bug becomes evident now that SCSI devices also report unit attention on reset. SLOF also has problems dealing with unit attention conditions, so it still will not boot even with this fix (just like OpenBIOS). IBM folks are aware of their part of the bug. :-) Reported-by: Thomas Huth <thuth@linux.vnet.ibm.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Acked-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Alexander Graf <agraf@suse.de>
-rw-r--r--hw/spapr_vscsi.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/hw/spapr_vscsi.c b/hw/spapr_vscsi.c
index 6fc82f6bd7..e8426d7c5e 100644
--- a/hw/spapr_vscsi.c
+++ b/hw/spapr_vscsi.c
@@ -483,7 +483,6 @@ static void vscsi_command_complete(SCSIRequest *sreq, uint32_t status)
if (status == CHECK_CONDITION) {
req->senselen = scsi_req_get_sense(req->sreq, req->sense,
sizeof(req->sense));
- status = 0;
dprintf("VSCSI: Sense data, %d bytes:\n", len);
dprintf(" %02x %02x %02x %02x %02x %02x %02x %02x\n",
req->sense[0], req->sense[1], req->sense[2], req->sense[3],