usb: fix use after free
The ->complete() callback might have released the USBPacket (uhciactually does), so we must not touch it after the callback returns.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
usb-ccid: switch to USBDesc*
Switch the smard card emulation to use the USBDesc*structs for the usb descriptors.
usb-host: endpoint table fixup
USB Devices can have up to 15 IN and 15 OUT endpoints, not 15 endpointstotal. Move from one array to two arrays (one IN, one OUT) to maintainthe endpoint state.
usb-ehci: handle siTDs
This patch adds code to do minimal siTD handling, which is basicallyjust following the next pointer. This is good enougth to handle theinactive siTDs used by FreeBSD. Active siTDs are skipped too as wedon't have split transfer support in qemu, additionally a warning is...
usb-host: constify port
usb-host: parse port in /proc/bus/usb/devices scan
Unfortunaly this is limited to root ports.
usb-host: claim port
When configured to pass through a specific host port (using hostbus andhostport properties), try to claim the port if supported by the kernel.That will avoid any kernel drivers binding to devices plugged into thatport. It will not stop any userspace apps (such as usb_modeswitch)...
usb-host: fix halted endpoints
Two fixes for the price of one ;)
First, reinitialize the endpoint table after device reset.This is needed anyway as the reset might have switched interfaces.It also clears the endpoint halted state.
Second the CLEAR_HALT ioctl wants a unsigned int passed in as...
usb-host: limit open retries
Limit the number of times qemu tries to open host devices to three.Reset error counter when the device goes away, after un-plugging andre-plugging the device qemu will try again three times.
usb-host: fix configuration tracking.
It is perfectly fine to leave the usb device in unconfigured state(USBHostDevice->configuration == 0). Just do that and wait for theguest to explicitly set a configuration. This is closer to what realhardware does and it also simplifies the device initialization. There...
View all revisions | View revisions
Also available in: Atom