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