Dead lock in usbredir

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi


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@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]