[Spice-devel] Dead lock in usbredir

Christophe Fergeau cfergeau at redhat.com
Tue Dec 16 07:55:57 PST 2014


Hey,

Thanks to the detailed description. Adding Hans to cc: since he knows
USB redirection the best.

Christophe

On Tue, Dec 16, 2014 at 10:36:12AM +0800, hustxyj at sina.com wrote:
> I met a dead lock in usbredir. When a device with interrupt  endpoint
> was plugged in, the func usbredirhost_start_interrupt_receiving may be
> called, which locked the host first. Then submitted the transfer and
> call usbi_fd_notification, which called libusb_lock_events(ctx).
> Another thread "spice_usb_device_manager_usb_ev_thread" handled events
> from libusb. which lock the events(libusb_lock_events) first. Then
> func usbredirhost_buffered_packet_complete may be called which locked
> the host. This may cause deadlock!I had meet this several times. I
> think usbredirhost should lock the event lock before lock host.
> Thx!Yongjian Xu.

> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20141216/01261b3d/attachment.sig>


More information about the Spice-devel mailing list