]> xenbits.xensource.com Git - people/andrewcoop/seabios.git/commitdiff
virtio-scsi: Set _DRIVER_OK flag before scsi target scanning
authorAsias He <asias@redhat.com>
Fri, 15 Mar 2013 01:45:15 +0000 (09:45 +0800)
committerGerd Hoffmann <kraxel@redhat.com>
Wed, 15 May 2013 05:47:12 +0000 (07:47 +0200)
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 <asias@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
(cherry picked from commit 5a7730db57ab0715223421e65b54fb50d6fefe5c)

src/virtio-scsi.c

index ab747292b45da7fc693774790f9b94fb10e296d2..bf6c68b889434d1af8858486251347e097bb2f6b 100644 (file)
@@ -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: