[Spice-devel] [PATCH spice-gtk] usbredir: Don't call spice_usbredir_channel_disconnect on channel reset

Marc-André Lureau mlureau at redhat.com
Wed Dec 28 14:20:30 PST 2011


ack

----- Mensaje original -----
> channel_reset gets called from spice_channel_disconnect, and
> spice_usbredir_channel_disconnect calls spice_channel_disconnect
> (so as to disconnect the channel when a usb device gets
> disconnected).
> 
> So calling spice_usbredir_channel_disconnect from channel_reset leads
> to
> undesirable recursion. More over calling
> spice_usbredir_channel_disconnect
> disconnects / closes both the channel and *the usb device* and
> closing the
> usb device on migration is not what we want.
> 
> Note that currently migration of usbredir channels does not work, and
> this
> patch does not fix this, but it does fix a regression when
> disconnecting
> usb devices normally (by unplugging them for example).
> 
> Signed-off-by: Hans de Goede <hdegoede at redhat.com>
> ---
>  gtk/channel-usbredir.c |    2 --
>  1 files changed, 0 insertions(+), 2 deletions(-)
> 
> diff --git a/gtk/channel-usbredir.c b/gtk/channel-usbredir.c
> index 28c4003..5f0f409 100644
> --- a/gtk/channel-usbredir.c
> +++ b/gtk/channel-usbredir.c
> @@ -109,8 +109,6 @@ static void
> spice_usbredir_channel_init(SpiceUsbredirChannel *channel)
>  #ifdef USE_USBREDIR
>  static void spice_usbredir_channel_reset(SpiceChannel *channel,
>  gboolean migrating)
>  {
> -
>    spice_usbredir_channel_disconnect(SPICE_USBREDIR_CHANNEL(channel));
> -
>      SPICE_CHANNEL_CLASS(spice_usbredir_channel_parent_class)->channel_reset(channel,
>      migrating);
>  }
>  #endif
> --
> 1.7.7.4
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
> 


More information about the Spice-devel mailing list