megasas: Legacy command line handling fix

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>
(cherry picked from commit 22d6aa03fd)

Conflicts:

	hw/scsi/megasas.c

* modified to avoid dependency on fancy new upcast macros

Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
This commit is contained in:
Andreas Färber 2013-07-21 12:20:15 +02:00 committed by Michael Roth
parent 685803fcf7
commit a561fcfed6
1 changed files with 4 additions and 1 deletions

View File

@ -2088,6 +2088,7 @@ static const struct SCSIBusInfo megasas_scsi_info = {
static int megasas_scsi_init(PCIDevice *dev)
{
DeviceState *d = DEVICE(dev);
MegasasState *s = DO_UPCAST(MegasasState, dev, dev);
uint8_t *pci_conf;
int i, bar_type;
@ -2160,7 +2161,9 @@ static int megasas_scsi_init(PCIDevice *dev)
}
scsi_bus_new(&s->bus, &dev->qdev, &megasas_scsi_info, NULL);
scsi_bus_legacy_handle_cmdline(&s->bus);
if (!d->hotplugged) {
return scsi_bus_legacy_handle_cmdline(&s->bus);
}
return 0;
}