From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:42403) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UGJjR-0003zy-O5 for qemu-devel@nongnu.org; Thu, 14 Mar 2013 21:46:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UGJjO-0006ng-PJ for qemu-devel@nongnu.org; Thu, 14 Mar 2013 21:46:53 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49495) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UGJjO-0006mv-H4 for qemu-devel@nongnu.org; Thu, 14 Mar 2013 21:46:50 -0400 From: Asias He Date: Fri, 15 Mar 2013 09:45:15 +0800 Message-Id: <1363311916-23121-2-git-send-email-asias@redhat.com> In-Reply-To: <1363311916-23121-1-git-send-email-asias@redhat.com> References: <1363311916-23121-1-git-send-email-asias@redhat.com> Subject: [Qemu-devel] [PATCH 1/2] virtio-scsi: Set _DRIVER_OK flag before scsi target scanning List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: seabios@seabios.org Cc: target-devel@vger.kernel.org, kvm@vger.kernel.org, "Michael S. Tsirkin" , qemu-devel@nongnu.org, Nicholas Bellinger , virtualization@lists.linux-foundation.org, Kevin O'Connor , Stefan Hajnoczi , Paolo Bonzini , Asias He Before we start scsi target scanning, we need to set the VIRTIO_CONFIG_S_DRIVER_OK flag so the device can do setup properly. This fix a bug when booting tcm_vhost with seabios. Signed-off-by: Asias He Acked-by: Paolo Bonzini --- src/virtio-scsi.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/virtio-scsi.c b/src/virtio-scsi.c index 879ddfb..4de1255 100644 --- a/src/virtio-scsi.c +++ b/src/virtio-scsi.c @@ -147,6 +147,9 @@ init_virtio_scsi(struct pci_device *pci) goto fail; } + vp_set_status(ioaddr, VIRTIO_CONFIG_S_ACKNOWLEDGE | + VIRTIO_CONFIG_S_DRIVER | VIRTIO_CONFIG_S_DRIVER_OK); + int i, tot; for (tot = 0, i = 0; i < 256; i++) tot += virtio_scsi_scan_target(pci, ioaddr, vq, i); @@ -154,8 +157,6 @@ init_virtio_scsi(struct pci_device *pci) if (!tot) goto fail; - vp_set_status(ioaddr, VIRTIO_CONFIG_S_ACKNOWLEDGE | - VIRTIO_CONFIG_S_DRIVER | VIRTIO_CONFIG_S_DRIVER_OK); return; fail: -- 1.8.1.4