From bf5547f5365c1bfeba9d5c3e87653b9803a875a5 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 27 May 2011 14:50:39 +0200 Subject: [PATCH] usb-bus: Don't allow speed mismatch while attaching devices Signed-off-by: Gerd Hoffmann --- hw/usb-bus.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hw/usb-bus.c b/hw/usb-bus.c index fc720185b7..2abce12de5 100644 --- a/hw/usb-bus.c +++ b/hw/usb-bus.c @@ -200,6 +200,11 @@ static int do_attach(USBDevice *dev) } else { port = QTAILQ_FIRST(&bus->free); } + if (!(port->speedmask & dev->speedmask)) { + error_report("Warning: speed mismatch trying to attach usb device %s to bus %s\n", + dev->product_desc, bus->qbus.name); + return -1; + } dev->attached++; QTAILQ_REMOVE(&bus->free, port, next);