qemu-patch-raspberry4/hw/usb
Hans de Goede 9822261ce3 uhci: Use an intermediate buffer for usb packet data
Due to various unfortunate reasons we cannot reliable detect a guest
cancelling a packet as soon as it happens, instead we detect cancels
with some delay.

When packets are handled async, and we directly pass the guest memory for
the packet to the usb-device as iovec, this means that the usb-device can
write to guest-memory which the guest has already re-used for other purposes
-> not good!

This patch fixes this by adding an intermediate buffer and writing back not
only the result, but also the data, of async completed packets when scanning
the schedule.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2013-05-07 11:34:03 +02:00
..
bus.c usb: better speed mismatch error reporting 2013-04-23 08:43:10 +02:00
ccid-card-emulated.c ccid: Fix crash when backend isn't specified 2013-04-27 02:38:33 +03:00
ccid-card-passthru.c ccid-card-passthru, dev-smartcard-reader: add debug environment variables 2013-04-24 11:47:57 +03:00
ccid.h hw: move private headers to hw/ subdirectories. 2013-04-08 18:13:16 +02:00
combined-packet.c misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
core.c usb-core: usb3 streams 2013-02-19 12:30:05 +01:00
desc.c usb: better speed mismatch error reporting 2013-04-23 08:43:10 +02:00
desc.h usb: split packet result into actual_length + status 2012-11-08 18:41:46 +01:00
dev-audio.c audio: remove the need for audio card CONFIG_* symbols 2013-04-29 12:16:36 -05:00
dev-bluetooth.c sysemu: avoid proliferation of include/ subdirectories 2013-04-15 18:19:25 +02:00
dev-hid.c Merge remote-tracking branch 'bonzini/hw-dirs' into staging 2013-04-08 13:12:33 -05:00
dev-hub.c usb-hub: report status changes only once 2013-04-03 11:39:43 +02:00
dev-network.c hw: move qdev-monitor.o to toplevel directory 2013-03-01 13:54:10 +01:00
dev-serial.c usb-serial: Remove double call to qemu_chr_add_handlers( NULL ) 2013-04-16 11:59:08 +02:00
dev-smartcard-reader.c dev-smartcard-reader: empty implementation for Mechanical (fail correctly) 2013-04-24 11:48:04 +03:00
dev-storage.c scsi: add bus_name parameter to scsi_bus_new. 2013-05-03 12:05:15 -05:00
dev-uas.c scsi: add bus_name parameter to scsi_bus_new. 2013-05-03 12:05:15 -05:00
dev-wacom.c usb-core: usb3 streams 2013-02-19 12:30:05 +01:00
hcd-ehci-pci.c usb/ehci: Clean up SysBus and PCI EHCI split 2013-01-07 12:57:24 +01:00
hcd-ehci-sysbus.c usb/ehci: Add SysBus EHCI device for Exynos4210 2013-01-07 12:57:24 +01:00
hcd-ehci.c ehci_free_packet: Discard finished packets when the queue is halted 2013-04-23 08:43:10 +02:00
hcd-ehci.h usb/ehci: Add SysBus EHCI device for Exynos4210 2013-01-07 12:57:24 +01:00
hcd-musb.c usb-core: usb3 streams 2013-02-19 12:30:05 +01:00
hcd-ohci.c usb-core: usb3 streams 2013-02-19 12:30:05 +01:00
hcd-uhci.c uhci: Use an intermediate buffer for usb packet data 2013-05-07 11:34:03 +02:00
hcd-xhci.c xhci: remove XHCIRing->base (unused) 2013-04-23 08:43:10 +02:00
host-bsd.c usb-host: remove usb_host_device_close 2013-02-19 12:30:05 +01:00
host-legacy.c usb-host: move legacy cmd line bits 2013-02-19 12:30:05 +01:00
host-libusb.c usb-host: add usb_host_full_speed_compat 2013-05-07 11:34:02 +02:00
host-linux.c use libusb for usb-host 2013-04-16 12:04:09 +02:00
host-stub.c usb-host: remove usb_host_device_close 2013-02-19 12:30:05 +01:00
host.h usb-host: move legacy cmd line bits 2013-02-19 12:30:05 +01:00
libhw.c include: avoid useless includes of exec/ headers 2013-04-15 18:19:26 +02:00
Makefile.objs hw: make all of hw/usb/ configurable via default-configs/ 2013-04-08 18:13:12 +02:00
quirks-ftdi-ids.h usbredir: Add support for buffered bulk input (v2) 2013-01-08 10:56:58 +01:00
quirks-pl2303-ids.h usbredir: Add support for buffered bulk input (v2) 2013-01-08 10:56:58 +01:00
quirks.c usbredir: Add support for buffered bulk input (v2) 2013-01-08 10:56:58 +01:00
quirks.h usbredir: Add support for buffered bulk input (v2) 2013-01-08 10:56:58 +01:00
redirect.c sysemu: avoid proliferation of include/ subdirectories 2013-04-15 18:19:25 +02:00