]> git.proxmox.com Git - mirror_qemu.git/commitdiff
vscsi: send the CHECK_CONDITION status down together with autosense data
authorPaolo Bonzini <pbonzini@redhat.com>
Wed, 24 Aug 2011 05:28:52 +0000 (05:28 +0000)
committerAlexander Graf <agraf@suse.de>
Thu, 6 Oct 2011 07:48:05 +0000 (09:48 +0200)
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>
hw/spapr_vscsi.c

index 6fc82f6bd719e3029c1155e6dbb01cbba56e12eb..e8426d7c5e9ace9366811e81392cab484f71d367 100644 (file)
@@ -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],