From a561fcfed630c6a926f545ddcc20a0f31c65adf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20F=C3=A4rber?= Date: Sun, 21 Jul 2013 12:20:15 +0200 Subject: megasas: Legacy command line handling fix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Signed-off-by: Andreas Färber (cherry picked from commit 22d6aa03fd87ba5f219d26bc1810646d0f95842a) Conflicts: hw/scsi/megasas.c * modified to avoid dependency on fancy new upcast macros Signed-off-by: Michael Roth --- hw/scsi/megasas.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c index 4934a815ce..27288b9222 100644 --- a/hw/scsi/megasas.c +++ b/hw/scsi/megasas.c @@ -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; } -- cgit v1.2.1