]> Git Repo - qemu.git/commitdiff
usb: tag usb host adapters as not hotpluggable.
authorGerd Hoffmann <[email protected]>
Thu, 22 Nov 2012 13:44:50 +0000 (14:44 +0100)
committerGerd Hoffmann <[email protected]>
Thu, 29 Nov 2012 07:04:13 +0000 (08:04 +0100)
Hotplugging them simply doesn't work, so tag them accordingly to
avoid users trying and then crashing qemu.

For xhci there is nothing fundamental which prevents hotplug from
working, we'll "only" need a exit() function which cleans up
everything properly.  That isn't for 1.3 though.

For ehci+uhci+ohci hotplug can't be supported until qemu gains the
capability to hotplug multifunction pci devices.

https://bugzilla.redhat.com/show_bug.cgi?id=879096

Signed-off-by: Gerd Hoffmann <[email protected]>
hw/usb/hcd-ehci-pci.c
hw/usb/hcd-ohci.c
hw/usb/hcd-uhci.c
hw/usb/hcd-xhci.c

index 5887eab197c24188d4ac6ba1cf1822a6ab35e841..41dbb539f270d504129479458db8269da1ddbb4d 100644 (file)
@@ -123,6 +123,7 @@ static void ehci_class_init(ObjectClass *klass, void *data)
     k->revision = i->revision;
     k->class_id = PCI_CLASS_SERIAL_USB;
     k->config_write = usb_ehci_pci_write_config;
+    k->no_hotplug = 1;
     dc->vmsd = &vmstate_ehci_pci;
     dc->props = ehci_pci_properties;
 }
index 64de906e41a2b7f4075a5c79d21ca9ad77e322ed..e16a2ecab43a306351ebde2c543b7c868299ea68 100644 (file)
@@ -1882,6 +1882,7 @@ static void ohci_pci_class_init(ObjectClass *klass, void *data)
     k->vendor_id = PCI_VENDOR_ID_APPLE;
     k->device_id = PCI_DEVICE_ID_APPLE_IPID_USB;
     k->class_id = PCI_CLASS_SERIAL_USB;
+    k->no_hotplug = 1;
     dc->desc = "Apple USB Controller";
     dc->props = ohci_pci_properties;
 }
index 8e478030ad75f0c9f4c6387e39d4267b8c770520..d053791de0e0a4850ea4a7f3fcc0b2aef891cdf5 100644 (file)
@@ -1327,6 +1327,7 @@ static void uhci_class_init(ObjectClass *klass, void *data)
     k->device_id = info->device_id;
     k->revision  = info->revision;
     k->class_id  = PCI_CLASS_SERIAL_USB;
+    k->no_hotplug = 1;
     dc->vmsd = &vmstate_uhci;
     dc->props = uhci_properties;
     u->info = *info;
index 8ef4b0730e3b0808aca3c830e43637a0597097d2..efb509e4233937d63934def55d4fe82a8202b2a1 100644 (file)
@@ -3167,6 +3167,7 @@ static void xhci_class_init(ObjectClass *klass, void *data)
     k->class_id     = PCI_CLASS_SERIAL_USB;
     k->revision     = 0x03;
     k->is_express   = 1;
+    k->no_hotplug   = 1;
 }
 
 static TypeInfo xhci_info = {
This page took 0.03826 seconds and 4 git commands to generate.