diff options
author | Asias He <asias@redhat.com> | 2013-03-15 09:45:15 +0800 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2013-03-17 10:27:58 -0400 |
commit | 5a7730db57ab0715223421e65b54fb50d6fefe5c (patch) | |
tree | 38ab7eedd174f0a050602288af1df75f407d2a3b | |
parent | 091a2f4567a634566f70e12da85857231f05c3d1 (diff) | |
download | seabios-5a7730db57ab0715223421e65b54fb50d6fefe5c.tar.gz |
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 <asias@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r-- | src/virtio-scsi.c | 5 |
1 files 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: |