From fa19bf831b8c87006533645ece58bc620aca00bc Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 27 May 2011 19:05:15 +0200 Subject: usb: Proper error propagation for usb_device_attach errors Signed-off-by: Gerd Hoffmann --- usb-linux.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'usb-linux.c') diff --git a/usb-linux.c b/usb-linux.c index 42baafe0a1..9b6f2be0f4 100644 --- a/usb-linux.c +++ b/usb-linux.c @@ -1178,10 +1178,14 @@ static int usb_host_open(USBHostDevice *dev, int bus_num, prod_name); } + ret = usb_device_attach(&dev->dev); + if (ret) { + goto fail; + } + /* USB devio uses 'write' flag to check for async completions */ qemu_set_fd_handler(dev->fd, NULL, async_complete, dev); - usb_device_attach(&dev->dev); return 0; fail: -- cgit v1.2.3