Description of problem:
On a updated Fedora 22 machine I have a VM with several USB passthrough devices.
For example:
<hostdev mode='subsystem' type='usb' managed='yes'>
<source startupPolicy='optional'>
<vendor id='0x0403'/>
<product id='0x6001'/>
</source>
</hostdev>
I plugged the above device (a USB serial port) in and tried booting the VM and got a libvirt error (and VM wouldn't start):
Sep 17 23:06:56 mentor libvirtd[2127]: internal error: Device 003:020 is already in use
Sep 17 23:06:56 mentor libvirtd[2127]: Unable to find device 003.020 in list of active USB devices
Sep 17 23:06:56 mentor libvirtd[2127]: Unable to find device 003.020 in list of active USB devices
Sep 17 23:06:56 mentor libvirtd[2127]: Unable to find device 000.000 in list of active USB devices
Sep 17 23:06:56 mentor libvirtd[2127]: Unable to find device 000.000 in list of active USB devices
I removed the startupPolicy='optional' attribute and the VM starts with no error. Weird.
So to recap:
USB device plugged in AND startupPolicy='optional' = FAILURE TO START
USB device plugged in AND NO startupPolicy='optional' = OK
USB device not plugged in AND startupPolicy='optional' = OK
I've been able to use the startupPolicy='optional' with a several USB devices for a couple years, but it has been since April (6 months ago -- on Fedora 21) that attempted (and it worked).