qemu/hw/usb
Hans de Goede be41efde3c usb: Don't allow USB_RET_ASYNC for interrupt packets
It is tempting to use USB_RET_ASYNC for interrupt packets, rather then the
current NAK + polling approach, but this causes issues for migration, as
an async completed packet will not getting written back to guest memory until
the next poll time, and if a migration happens in between it will get lost!

Make an exception for host devices, because:
1) host-linux actually uses async completion for interrupt endpoints
2) host devices don't migrate anyways

Ideally we would convert host-linux.c to handle (input) interrupt endpoints in
a buffered manner like it does for isoc endpoints, keeping multiple urbs
submitted to ensure the devices timing requirements are met, as well as making
its interrupt ep handling the same as other usb-devices.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-12-04 14:41:54 +01:00
..
bus.c usb: fail usbdevice_create() when there is no USB bus 2012-11-29 08:04:13 +01:00
combined-packet.c usb/combined-packet: Move freeing of combined to usb_combined_packet_remove() 2012-11-08 18:41:47 +01:00
core.c usb: Don't allow USB_RET_ASYNC for interrupt packets 2012-12-04 14:41:54 +01:00
desc.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
desc.h usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
dev-audio.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
dev-bluetooth.c usb-bt: Return NAK instead of STALL when interrupt ep has no data 2012-11-21 14:55:54 +01:00
dev-hid.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
dev-hub.c usb: Call wakeup when data becomes available for all devices with int eps 2012-12-04 14:41:54 +01:00
dev-network.c usb: Call wakeup when data becomes available for all devices with int eps 2012-12-04 14:41:54 +01:00
dev-serial.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
dev-smartcard-reader.c usb-smartcard-reader: Properly NAK interrupt eps when we've no events 2012-11-21 14:55:54 +01:00
dev-storage.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
dev-uas.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
dev-wacom.c usb: Call wakeup when data becomes available for all devices with int eps 2012-12-04 14:41:54 +01:00
hcd-ehci-pci.c usb: tag usb host adapters as not hotpluggable. 2012-11-29 08:04:13 +01:00
hcd-ehci-sysbus.c ehci-sysbus: Attach DMA context. 2012-11-29 08:04:13 +01:00
hcd-ehci.c ehci: handle dma errors 2012-11-16 11:27:32 +01:00
hcd-ehci.h ehci: Add support for packets with both data and an error status 2012-11-08 18:41:47 +01:00
hcd-musb.c usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
hcd-ohci.c usb: tag usb host adapters as not hotpluggable. 2012-11-29 08:04:13 +01:00
hcd-uhci.c usb: tag usb host adapters as not hotpluggable. 2012-11-29 08:04:13 +01:00
hcd-xhci.c usb: tag usb host adapters as not hotpluggable. 2012-11-29 08:04:13 +01:00
host-bsd.c usb: Don't allow USB_RET_ASYNC for interrupt packets 2012-12-04 14:41:54 +01:00
host-linux.c usb: Don't allow USB_RET_ASYNC for interrupt packets 2012-12-04 14:41:54 +01:00
host-stub.c usb: the big rename 2012-03-13 10:15:32 +01:00
libhw.c usb: Fix (another) bug in usb_packet_map() for IOMMU handling 2012-11-16 11:27:05 +01:00
Makefile.objs usb: Add packet combining functions 2012-11-01 15:17:58 +01:00
redirect.c usb: Call wakeup when data becomes available for all devices with int eps 2012-12-04 14:41:54 +01:00