[Spice-devel] [PATCH spice-gtk v2] win-usb-dev: fix device arrival event logic

Yuri Benditovich yuri.benditovich at daynix.com
Tue Jul 11 17:53:12 UTC 2017


ping

On Wed, Jul 5, 2017 at 8:21 AM, Yuri Benditovich <
yuri.benditovich at daynix.com> wrote:

> https://bugzilla.redhat.com/show_bug.cgi?id=1425961
> If attached new device when one device with the same vid
> and pid already present, the notification is ignored and
> attached device is not redirected (if auto share set) and
> not displayed in USB devices widget.
>
> This commit reverts older commit f9631cd6f8, which was
> intended to solve problem when bus:addr is sometimes changed when
> using WinUSB. The same commit creates the limitation for automatic
> redirection of second device with the same pid:vid.
> Now the preferred backend for Spice-GTK on Windows is UsbDk.
> In case users of newer WinUSB will still need backward compatible
> behavior, consider backend-aware comparison procedure.
>
> Signed-off-by: Yuri Benditovich <yuri.benditovich at daynix.com>
> ---
>  src/win-usb-dev.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/src/win-usb-dev.c b/src/win-usb-dev.c
> index ec3dd91..e2d77b3 100644
> --- a/src/win-usb-dev.c
> +++ b/src/win-usb-dev.c
> @@ -380,20 +380,20 @@ static gboolean get_usb_dev_info(libusb_device *dev,
> GUdevDeviceInfo *udevinfo)
>      return TRUE;
>  }
>
> -/* Only vid:pid are compared */
> +/* Only bus:addr are compared */
>  static gint gudev_devices_differ(gconstpointer a, gconstpointer b)
>  {
>      GUdevDeviceInfo *ai, *bi;
> -    gboolean same_vid;
> -    gboolean same_pid;
> +    gboolean same_bus;
> +    gboolean same_addr;
>
>      ai = G_UDEV_DEVICE(a)->priv->udevinfo;
>      bi = G_UDEV_DEVICE(b)->priv->udevinfo;
>
> -    same_vid  = (ai->vid == bi->vid);
> -    same_pid  = (ai->pid == bi->pid);
> +    same_bus = (ai->bus == bi->bus);
> +    same_addr = (ai->addr == bi->addr);
>
> -    return (same_pid && same_vid) ? 0 : -1;
> +    return (same_bus && same_addr) ? 0 : -1;
>  }
>
>  static void notify_dev_state_change(GUdevClient *self,
> --
> 2.9.4
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20170711/2cea28b2/attachment-0001.html>


More information about the Spice-devel mailing list