Acked-by: Jonathon Jongsma <jjongsma@xxxxxxxxxx> On Sun, 2016-02-28 at 11:54 +0200, Dmitry Fleytman wrote: > From: Kirill Moizik <kmoizik@xxxxxxxxxx> > > During device disconnection, unwanted hotplug events may happen. > We need to ignore those therefore we track disconnection operations > in progress. > > See also comment to commit > "Do not process USB hotplug events while redirection is in progress" > that introduces corresponding filtering out logic. > > Signed-off-by: Kirill Moizik <kmoizik@xxxxxxxxxx> > Signed-off-by: Dmitry Fleytman <dfleytma@xxxxxxxxxx> > --- > src/usb-device-manager.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/src/usb-device-manager.c b/src/usb-device-manager.c > index 93e095a..7a90a2a 100644 > --- a/src/usb-device-manager.c > +++ b/src/usb-device-manager.c > @@ -1721,20 +1721,22 @@ void _disconnect_device_async_cb(GObject *gobject, > SpiceUsbredirChannel *channel = SPICE_USBREDIR_CHANNEL(gobject); > disconnect_cb_data *data = user_data; > GSimpleAsyncResult *result = G_SIMPLE_ASYNC_RESULT(data->result); > + SpiceUsbDeviceManager *self = SPICE_USB_DEVICE_MANAGER(data->self); > GError *err = NULL; > > #ifdef G_OS_WIN32 > - SpiceUsbDeviceManager *self = SPICE_USB_DEVICE_MANAGER(data->self); > - > if (self->priv->use_usbclerk) { > _spice_usb_device_manager_uninstall_driver_async(self, data->device); > } > #endif > > + _set_redirecting(self, FALSE); > + > spice_usbredir_channel_disconnect_device_finish(channel, channel_res, > &err); > if (err) { > g_simple_async_result_take_error(result, err); > } > + > g_simple_async_result_complete(result); > g_object_unref(result); > g_free(data); > @@ -1757,6 +1759,8 @@ void > spice_usb_device_manager_disconnect_device_async(SpiceUsbDeviceManager *sel > > SpiceUsbredirChannel *channel; > > + _set_redirecting(self, TRUE); > + > channel = spice_usb_device_manager_get_channel_for_dev(self, device); > nested = g_simple_async_result_new(G_OBJECT(self), callback, user_data, > > spice_usb_device_manager_disconnect_device_async); _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel