Statistics
| Branch: | Revision:

root / usb-redir.c @ 2a2af967

History | View | Annotate | Download (46 kB)

# Date Author Comment
7718564b 02/16/2012 01:25 am Anthony Liguori

Merge remote-tracking branch 'kraxel/usb.38' into staging

  • kraxel/usb.38: (28 commits)
    xhci: handle USB_RET_NAK
    xhci: remote wakeup support
    xhci: kill port arg from xhci_setup_packet
    xhci: stop on errors
    xhci: add trb type name lookup support....
83f7d43a 02/15/2012 05:39 pm Andreas Färber

qom: Unify type registration

Replace device_init() with generalized type_init().

While at it, unify naming convention: type_init([$prefix_]register_types)
Also, type_init() is a function, so add preceding blank line where
necessary and don't put a semicolon after the closing brace....

7f74a56b 02/10/2012 12:31 pm Gerd Hoffmann

usb: kill handle_packet callback

All drivers except usb-hub use usb_generic_handle_packet. The only
reason the usb hub has its own function is that it used to be called
with packets which are intended for downstream devices. With the new,
separate device lookup step this doesn't happen any more, so the need...

079d0b7f 02/10/2012 12:31 pm Gerd Hoffmann

usb: Set USBEndpoint in usb_packet_setup().

With the separation of the device lookup (via usb_find_device) and
packet processing we can lookup device and endpoint before setting up
the usb packet. So we can initialize USBPacket->ep early and keep it
valid for the whole lifecycle of the USBPacket. Also the devaddr and...

6af16589 02/10/2012 12:12 pm Hans de Goede

usb-redir: Add the posibility to filter out certain devices from redirecion

This patch adds the posibility to filter out certain devices from redirecion.
To use this pass the filter property to -device usb-redir. The filter
property takes a string consisting of filter rules, the format for a rule is:...

3bc36349 02/06/2012 06:16 pm Anthony Liguori

usb-redir: convert to QOM

This was missed due to the fact that it's in the top level and it uses
'struct DeviceInfo' instead of 'DeviceInfo' for some strange reason.

Tested-by: Benoît Canet <>
Signed-off-by: Anthony Liguori <>

62aed765 01/27/2012 06:50 pm Anthony Liguori

usb: convert to QEMU Object Model

Signed-off-by: Anthony Liguori <>

2bd836e5 01/17/2012 10:44 am Hans de Goede

usb-redir: Clear iso / irq error when stopping the stream

And ignore status messages from the client which arrive after stream
stop (the stream stop send to the client and an error status reported by
the client my cross each other due to network latency)....

e8a7dd29 01/17/2012 10:44 am Hans de Goede

usb-redir: Dynamically adjust iso buffering size based on ep interval

Note the bufpq_target_size id stored in the endpoint info struct,
even though it only used once. This is done because it will be
referenced from other code in a follow up patch.

Signed-off-by: Hans de Goede <>...

e1537884 01/17/2012 10:44 am Hans de Goede

usb-redir: Pre-fill our isoc input buffer before sending pkts to the host

This is something which should have been done from the first version of
usb-redir, but wasn't.

Signed-off-by: Hans de Goede <>
Signed-off-by: Gerd Hoffmann <>

81fd7b74 01/17/2012 10:44 am Hans de Goede

usb-redir: Try to keep our buffer size near the target size

Before this patch we would allow the (iso) buffer to grow unlimited
(and it would under certain circumstances) leading to way too high
latencies for iso data streams.

Signed-off-by: Hans de Goede <>...

32213543 01/17/2012 10:44 am Hans de Goede

usb-redir: Improve some debugging messages

Signed-off-by: Hans de Goede <>
Signed-off-by: Gerd Hoffmann <>

be62a2eb 01/06/2012 05:07 pm Markus Armbruster

Strip trailing '\n' from error_report()'s first argument (again)

Commit 6daf194d got rid of them, but Hans and Gerd added some more
lately. Tracked down with this Coccinelle semantic patch:

r
expression fmt;
position p;
@@
error_report(fmt, ...)@p...

3a93113a 12/06/2011 11:56 am Dong Xu Wang

fix typo: delete redundant semicolon

Double semicolons should be single.

Signed-off-by: Dong Xu Wang <>
Signed-off-by: Stefan Hajnoczi <>

65f9d986 11/29/2011 12:20 am Hans de Goede

usb-redir: Call qemu_chr_fe_open/close

To let the chardev now we're ready start receiving data. This is necessary
with the spicevmc chardev to get it registered with the spice-server.

Signed-off-by: Hans de Goede <>
Signed-off-by: Anthony Liguori <>

99f08100 11/29/2011 12:20 am Hans de Goede

usb-redir: Device disconnect + re-connect robustness fixes

These fixes mainly target the other side sending some (error status)
packets after a disconnect packet. In some cases these would get queued
up and then reported to the controller when a new device gets connected....

c1b71a1d 11/29/2011 12:20 am Hans de Goede

usb-redir: Don't try to write to the chardev after a close event

Since we handle close async in a bh, do_write and thus write can get
called after receiving a close event. This patch adds a check to
the usb-redir write callback to not call qemu_chr_fe_write on a closed...

70f24fb6 08/22/2011 06:17 pm Anthony Liguori

char: rename qemu_chr_close() -> qemu_chr_delete()

Signed-off-by: Anthony Liguori <>

2cc6e0a1 08/22/2011 06:17 pm Anthony Liguori

char: rename qemu_chr_write() -> qemu_chr_fe_write()

Signed-off-by: Anthony Liguori <>

7267c094 08/21/2011 07:01 am Anthony Liguori

Use glib memory allocation and free functions

qemu_malloc/qemu_free no longer exist after this commit.

Signed-off-by: Anthony Liguori <>

4f4321c1 08/04/2011 04:51 pm Gerd Hoffmann

usb: use iovecs in USBPacket

Zap data pointer from USBPacket, add a QEMUIOVector instead.
Add a bunch of helper functions to manage USBPacket data.
Switch over users to the new interface.

Note that USBPacket->len was used for two purposes: First to
pass in the buffer size and second to return the number of...

69354a83 07/22/2011 02:36 pm Hans de Goede

USB: add usb network redirection support

This patch adds support for a usb-redir device, which takes a chardev
as a communication channel to an actual usbdevice using the usbredir protocol.

Compiling the usb-redir device requires usbredir-0.3 to be installed for...