From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:37458) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QwFOB-0000bU-ML for qemu-devel@nongnu.org; Wed, 24 Aug 2011 11:29:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QwFO3-0007YI-RW for qemu-devel@nongnu.org; Wed, 24 Aug 2011 11:29:11 -0400 Received: from mail-qy0-f173.google.com ([209.85.216.173]:41211) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QwFO3-0007YE-PL for qemu-devel@nongnu.org; Wed, 24 Aug 2011 11:29:03 -0400 Received: by qyk31 with SMTP id 31so3059752qyk.4 for ; Wed, 24 Aug 2011 08:29:02 -0700 (PDT) Sender: Paolo Bonzini From: Paolo Bonzini Date: Wed, 24 Aug 2011 17:28:52 +0200 Message-Id: <1314199732-25529-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [PATCH] vscsi: send the CHECK_CONDITION status down together with autosense data List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: thuth@linux.vnet.ibm.com, agraf@suse.de 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 Signed-off-by: Paolo Bonzini --- hw/spapr_vscsi.c | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/hw/spapr_vscsi.c b/hw/spapr_vscsi.c index fc9ac6a..ee6f6bf 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], -- 1.7.6