qemu-e2k/hw/usb
Gerd Hoffmann 6d7aeeeb89 usb-storage: fix request canceling
Little fix for usb packet handling on i/o cancelation.  The
usb packet pointer (s->packet) is cleared at the wrong place:
The scsi request cancel handler does it.  When a usb packet
is canceled the usb-storage emulation canceles the scsi request
if present.  In most cases there is one, so usually s->packet
is cleared as needed even with the code sitting at the wrong
place.

If there is no scsi request in flight s->packet is not cleared
though.  The usb-storage emulation will then try to complete an
usb packet which is not in flight any more and thereby trigger
an assert() in the usb core.

Fix this by clearing s->packet at the correct place, which is
the usb packet cancel header.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-04-26 12:21:16 +02:00
..
bus.c usb/vmstate: add parent dev path 2012-04-17 10:23:21 +02:00
core.c usb-ehci: add missing usb_packet_init() call 2012-04-26 12:21:15 +02:00
desc.c usb: use USBDescriptor for endpoint descriptors. 2012-04-17 10:23:28 +02:00
desc.h usb: use USBDescriptor for endpoint descriptors. 2012-04-17 10:23:28 +02:00
dev-audio.c
dev-bluetooth.c
dev-hid.c
dev-hub.c usb-hub: add tracepoints 2012-04-17 10:23:27 +02:00
dev-network.c
dev-serial.c
dev-smartcard-reader.c
dev-storage.c usb-storage: fix request canceling 2012-04-26 12:21:16 +02:00
dev-wacom.c
hcd-ehci.c usb-ehci: Ensure frindex writes leave a valid frindex value 2012-04-26 12:21:15 +02:00
hcd-musb.c
hcd-ohci.c usb-ohci: DMA writeback bug fixes 2012-03-13 10:15:32 +01:00
hcd-uhci.c usb-uhci: queuing fix 2012-04-17 10:23:27 +02:00
hcd-xhci.c
host-bsd.c
host-linux.c usb-host: rewrite usb_linux_update_endp_table 2012-04-17 10:23:28 +02:00
host-stub.c
libhw.c
redirect.c usb-redir: Notify our peer when we reject a device due to a speed mismatch 2012-04-17 10:23:28 +02:00