megasas: Legacy command line handling fix
authorAndreas Färber <afaerber@suse.de>
Sun, 21 Jul 2013 10:20:15 +0000 (12:20 +0200)
committerAndreas Färber <afaerber@suse.de>
Mon, 22 Jul 2013 22:37:35 +0000 (00:37 +0200)
Only apply legacy command line handling when the device has not been
hot-plugged. Propagate failure of legacy command line handling.

Cc: qemu-stable@nongnu.org
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
hw/scsi/megasas.c

index 55d5b73..2ae4346 100644 (file)
@@ -2098,6 +2098,7 @@ static const struct SCSIBusInfo megasas_scsi_info = {
 
 static int megasas_scsi_init(PCIDevice *dev)
 {
+    DeviceState *d = DEVICE(dev);
     MegasasState *s = MEGASAS(dev);
     uint8_t *pci_conf;
     int i, bar_type;
@@ -2170,7 +2171,9 @@ static int megasas_scsi_init(PCIDevice *dev)
     }
 
     scsi_bus_new(&s->bus, DEVICE(dev), &megasas_scsi_info, NULL);
-    scsi_bus_legacy_handle_cmdline(&s->bus);
+    if (!d->hotplugged) {
+        return scsi_bus_legacy_handle_cmdline(&s->bus);
+    }
     return 0;
 }