summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2011-05-27 14:46:27 +0200
committerGerd Hoffmann <kraxel@redhat.com>2011-06-23 11:28:06 +0200
commitee210d6390761bb0fd6febe0fb8f94ee0dcba0db (patch)
tree7e345f264d62ca160cc021cef33de4066b9ff4c9
parentadddecb169c63913786dcf3a5879e89a300dbb20 (diff)
downloadfocaccia-qemu-ee210d6390761bb0fd6febe0fb8f94ee0dcba0db.tar.gz
focaccia-qemu-ee210d6390761bb0fd6febe0fb8f94ee0dcba0db.zip
usb-bus: Don't allow attaching a device to a bus with no free ports
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-rw-r--r--hw/usb-bus.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/hw/usb-bus.c b/hw/usb-bus.c
index 480956dfcf..0a49921c0c 100644
--- a/hw/usb-bus.c
+++ b/hw/usb-bus.c
@@ -181,6 +181,11 @@ static void do_attach(USBDevice *dev)
                 dev->product_desc);
         return;
     }
+    if (bus->nfree == 0) {
+        fprintf(stderr, "Warning: tried to attach usb device %s to a bus with no free ports\n",
+                dev->product_desc);
+        return;
+    }
     if (dev->port_path) {
         QTAILQ_FOREACH(port, &bus->free, next) {
             if (strcmp(port->path, dev->port_path) == 0) {