qemu/hw/usb
Gerd Hoffmann 3280ea8ede usb-host: skip open on pending postload bh
usb-host emulates a device unplug after live migration, because the
device state is unknown and unplug/replug makes sure the guest
re-initializes the device into a working state.  This can't be done in
post-load though, so post-load just schedules a bottom half which
executes after vmload is complete.

It can happen that the device autoscan timer hits the race window
between scheduling and running the bottom half, which in turn can
triggers an assert().

Fix that issue by just ignoring the usb_host_open() call in case the
bottom half didn't execute yet.

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1572851
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20180503062932.17233-1-kraxel@redhat.com
2018-05-07 11:10:42 +02:00
..
bus.c hmp-commands: Remove the deprecated usb_add and usb_del 2017-12-14 10:16:52 +00:00
ccid-card-emulated.c ccid-card: include libcacard.h only 2018-04-27 10:57:09 +02:00
ccid-card-passthru.c ccid-card: include libcacard.h only 2018-04-27 10:57:09 +02:00
ccid.h usb-ccid: convert CCIDCardClass::exitfn() -> unrealize() 2018-01-26 07:59:33 +01:00
chipidea.c usb: Add basic code to emulate Chipidea USB IP 2018-02-09 10:40:30 +00:00
combined-packet.c usb: Clean up includes 2016-01-29 15:07:23 +00:00
core.c usb: don't wakeup during coldplug 2017-05-29 14:18:09 +02:00
desc-msos.c usb: Clean up includes 2016-01-29 15:07:23 +00:00
desc.c Replace all occurances of __FUNCTION__ with __func__ 2018-01-22 09:46:18 +01:00
desc.h all: Clean up includes 2016-02-23 12:43:05 +00:00
dev-audio.c usb: replace handle_destroy with unrealize 2017-02-23 15:40:19 +01:00
dev-bluetooth.c Replace all occurances of __FUNCTION__ with __func__ 2018-01-22 09:46:18 +01:00
dev-hid.c usb: replace handle_destroy with unrealize 2017-02-23 15:40:19 +01:00
dev-hub.c usb-hub: use DIV_ROUND_UP 2017-08-31 12:29:07 +02:00
dev-mtp.c usb-mtp: Unconditionally check for the readonly bit 2018-05-07 11:10:25 +02:00
dev-network.c usb: Remove legacy -usbdevice options (host, serial, disk and net) 2018-01-26 07:15:08 +01:00
dev-serial.c usb: Remove legacy -usbdevice options (host, serial, disk and net) 2018-01-26 07:15:08 +01:00
dev-smartcard-reader.c ccid: Fix dwProtocols advertisement of T=0 2018-04-27 10:28:20 +02:00
dev-storage.c usb-storage: Fix share-rw option parsing 2018-01-26 07:58:34 +01:00
dev-uas.c scsi: move block/scsi.h to include/scsi/constants.h 2017-09-19 14:09:31 +02:00
dev-wacom.c usb: replace handle_destroy with unrealize 2017-02-23 15:40:19 +01:00
hcd-ehci-pci.c pci: Add INTERFACE_CONVENTIONAL_PCI_DEVICE to Conventional PCI devices 2017-10-15 05:54:43 +03:00
hcd-ehci-sysbus.c ehci: Add ppc4xx-ehci for the USB 2.0 controller in embedded PPC SoCs 2017-09-27 13:05:41 +10:00
hcd-ehci.c migration: pre_save return int 2017-09-27 11:35:59 +01:00
hcd-ehci.h ehci: Add ppc4xx-ehci for the USB 2.0 controller in embedded PPC SoCs 2017-09-27 13:05:41 +10:00
hcd-musb.c Replace all occurances of __FUNCTION__ with __func__ 2018-01-22 09:46:18 +01:00
hcd-ohci.c pci: Add INTERFACE_CONVENTIONAL_PCI_DEVICE to Conventional PCI devices 2017-10-15 05:54:43 +03:00
hcd-uhci.c pci: Add INTERFACE_CONVENTIONAL_PCI_DEVICE to Conventional PCI devices 2017-10-15 05:54:43 +03:00
hcd-xhci-nec.c xhci: split into multiple files 2017-05-29 14:03:35 +02:00
hcd-xhci.c pci: removed the is_express field since a uniform interface was inserted 2018-02-08 21:06:41 +02:00
hcd-xhci.h xhci: split into multiple files 2017-05-29 14:03:35 +02:00
host-libusb.c usb-host: skip open on pending postload bh 2018-05-07 11:10:42 +02:00
host-stub.c usb: Remove legacy -usbdevice options (host, serial, disk and net) 2018-01-26 07:15:08 +01:00
host.h usb-host: move legacy cmd line bits 2013-02-19 12:30:05 +01:00
libhw.c usb: Clean up includes 2016-01-29 15:07:23 +00:00
Makefile.objs usb: Add basic code to emulate Chipidea USB IP 2018-02-09 10:40:30 +00:00
quirks-ftdi-ids.h
quirks-pl2303-ids.h
quirks.c usb: Clean up includes 2016-01-29 15:07:23 +00:00
quirks.h
redirect.c usbredir: reorder fields in USBRedirDevice to reduce padding 2018-03-12 11:43:49 +01:00
trace-events trace-events: fix code style: print 0x before hex numbers 2017-08-01 12:13:07 +01:00
tusb6010.c Replace all occurances of __FUNCTION__ with __func__ 2018-01-22 09:46:18 +01:00
xen-usb.c qobject: Replace qobject_incref/QINCREF qobject_decref/QDECREF 2018-05-04 08:27:53 +02:00