Created attachment 583233 [details]
Description of problem:
Share one USB device to two guests at the same time,the usb device redirect to host and error message display:
usbredirhost error: submitting bulk transfer on ep 02: -1
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.Configure usb redirection in two guests according to https://fedoraproject.org/wiki/Features/UsbNetworkRedirection
2.Install spice-usb-share-win to the two guests.
3.Use virt-viewer connect to the first guest,share USB to it by click File->USB device selection->Select the USB device.
4.Use virt-viewer connect to the second guest,share the same USB device to it.
The USB device redirect to guest,and virt-viewer throw up errors:
(virt-viewer:6684): GSpice-CRITICAL **: usbredirhost error: submitting bulk transfer on ep 02: -1
If the USB device can not be shared to two guest at same time,it's better to disable it when share it again,or give warning message when use it.
Attached the --spice-debug log
It is not clear to me what component would be able to take responsibility for mutual exclusion of redirected USB devices. Ordinarly it would be libvirtd's job, but it doesn't have enough visibility into redirected devices. Perhaps the usb-redir library should be using some kind of lockfile to product against this. Re-assigning to usb-redir, for want of better ideas currently
This bug is the result of an "interesting" interaction between libusb1 and usbredir, which is best fixed at the libusb1 level. I just completed a patch for libusb1 fixing this:
Changing component to libusb1, and adding devel-ack.
This is fixed in libusb1-1.0.9-0.6.rc1.el6, moving to modified.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
*** Bug 951554 has been marked as a duplicate of this bug. ***