[libvirt] [PATCH] conf: fix a failure when detaching a usb device

Guannan Ren gren at redhat.com
Wed Mar 27 02:36:32 UTC 2013


On 03/26/2013 11:04 PM, Michal Privoznik wrote:
> On 26.03.2013 15:17, Guannan Ren wrote:
>>   #virsh detach-device $guest usb.xml
>>   error: Failed to detach device from usb2.xml
>>   error: operation failed: host usb device vendor=0x0951 \
>>   product=0x1625 not found
>>
>> This regresstion is due to a typo in matching function. The first
>> argument is always the usb device that we are checking for. If the
>> usb xml file provided by user contains bus and device info, we try
>> to search it by them, otherwise, we use vendor and product info.
>>
>> The bug occurred only when detaching a usb device with no bus and
>> device info provided in the usb xml file.
>> ---
>>   src/conf/domain_conf.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
>> index 4cae0d3..2b2f35c 100644
>> --- a/src/conf/domain_conf.c
>> +++ b/src/conf/domain_conf.c
>> @@ -8541,7 +8541,7 @@ static int
>>   virDomainHostdevMatchSubsysUSB(virDomainHostdevDefPtr a,
>>                                  virDomainHostdevDefPtr b)
>>   {
>> -    if (b->source.subsys.u.usb.bus && b->source.subsys.u.usb.device) {
>> +    if (a->source.subsys.u.usb.bus && a->source.subsys.u.usb.device) {
>>           /* specified by bus location on host */
>>           if (a->source.subsys.u.usb.bus == b->source.subsys.u.usb.bus &&
>>               a->source.subsys.u.usb.device == b->source.subsys.u.usb.device)
>>
> ACK
>
> Michal

     Thanks and pushed.

     Guannan




More information about the libvir-list mailing list