summaryrefslogtreecommitdiff
path: root/hw/usb/dev-storage.c
diff options
context:
space:
mode:
authorAndreas Färber <afaerber@suse.de>2013-07-21 12:16:34 +0200
committerAndreas Färber <afaerber@suse.de>2013-07-23 00:37:35 +0200
commitcaad4eb345dc5119d326b8af08452cc0f90f8548 (patch)
tree3f253049cf4d7807579c5a158f801e65fb6e245b /hw/usb/dev-storage.c
parent22d6aa03fd87ba5f219d26bc1810646d0f95842a (diff)
downloadqemu-caad4eb345dc5119d326b8af08452cc0f90f8548.tar.gz
qemu-caad4eb345dc5119d326b8af08452cc0f90f8548.tar.bz2
qemu-caad4eb345dc5119d326b8af08452cc0f90f8548.zip
scsi: Improve error propagation for scsi_bus_legacy_handle_cmdline()
Let scsi_bus_legacy_add_drive() and scsi_bus_legacy_handle_cmdline() return an Error**. Prepare qdev initfns for QOM realize error model. Signed-off-by: Andreas Färber <afaerber@suse.de>
Diffstat (limited to 'hw/usb/dev-storage.c')
-rw-r--r--hw/usb/dev-storage.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/hw/usb/dev-storage.c b/hw/usb/dev-storage.c
index fe914ab005..1954811ec4 100644
--- a/hw/usb/dev-storage.c
+++ b/hw/usb/dev-storage.c
@@ -595,6 +595,7 @@ static int usb_msd_initfn_storage(USBDevice *dev)
MSDState *s = DO_UPCAST(MSDState, dev, dev);
BlockDriverState *bs = s->conf.bs;
SCSIDevice *scsi_dev;
+ Error *err = NULL;
if (!bs) {
error_report("drive property not set");
@@ -619,7 +620,8 @@ static int usb_msd_initfn_storage(USBDevice *dev)
usb_desc_init(dev);
scsi_bus_new(&s->bus, &s->dev.qdev, &usb_msd_scsi_info_storage, NULL);
scsi_dev = scsi_bus_legacy_add_drive(&s->bus, bs, 0, !!s->removable,
- s->conf.bootindex, dev->serial);
+ s->conf.bootindex, dev->serial,
+ &err);
if (!scsi_dev) {
return -1;
}