From 49b9c599b5a05ef8b557bc5f10872a6093aef771 Mon Sep 17 00:00:00 2001 From: Asias He Date: Fri, 15 Mar 2013 09:45:15 +0800 Subject: [PATCH] virtio-scsi: Set _DRIVER_OK flag before scsi target scanning 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 (cherry picked from commit 5a7730db57ab0715223421e65b54fb50d6fefe5c) --- 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 ab74729..bf6c68b 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: -- 2.39.5