summaryrefslogtreecommitdiff
path: root/hw/usb/hcd-xhci.c
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2013-05-06 10:48:57 +0200
committerGerd Hoffmann <kraxel@redhat.com>2013-05-07 11:34:03 +0200
commit9822261ce3bfbc7aec8b2a3e378892dc368910ed (patch)
treea95b9532e90f17c2b41e02bb3e366f9c23e8ada1 /hw/usb/hcd-xhci.c
parentc3268cc1135f41264cd26bcb269b3414d3c11453 (diff)
downloadqemu-9822261ce3bfbc7aec8b2a3e378892dc368910ed.tar.gz
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>
Diffstat (limited to 'hw/usb/hcd-xhci.c')
0 files changed, 0 insertions, 0 deletions