From 7f1f41acb9654fbc55d78e0e7ef2222d4eaad3c8 Mon Sep 17 00:00:00 2001 From: Chris Wright Date: Mon, 21 Apr 2008 22:14:57 -0700 Subject: Hotadd: lsi_scsi_init can fail During hotadd of SCSI devices lsi_scsi_init() handles failed pci_device_register(), but qemu_system_hot_add_storage() will try and attach a drive any way. Handle this error case rather the generating SEGV. Cc: Marcelo Tosatti Signed-off-by: Chris Wright Signed-off-by: Avi Kivity --- hw/device-hotplug.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/device-hotplug.c b/hw/device-hotplug.c index 95b3c7b24..5e2f2f022 100644 --- a/hw/device-hotplug.c +++ b/hw/device-hotplug.c @@ -125,7 +125,7 @@ static PCIDevice *qemu_system_hot_add_storage(const char *opts, int bus_nr) switch (type) { case IF_SCSI: opaque = lsi_scsi_init (pci_bus, -1); - if (drive_idx >= 0) + if (opaque && drive_idx >= 0) lsi_scsi_attach (opaque, drives_table[drive_idx].bdrv, drives_table[drive_idx].unit); break; -- cgit v1.2.3