[PATCH spice-gtk v2] session: initialize USB device manager on session creation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>

Simple command line tools simply connect all channels, however
usbredir channels require that the manager was previously
initialized. Currently, running spicy-stats on a VM with usbredir
channels prints:

(lt-spicy-stats:25224): GSpice-CRITICAL **: 14:30:54.724: spice_usbredir_channel_up: assertion 'priv->host != NULL' failed

(lt-spicy-stats:25224): GSpice-CRITICAL **: 14:30:54.724: usbredir_handle_msg: assertion 'priv->host != NULL' failed

There is not strong reason not to initialize the USB device manager
when the session is created.

Notes:
- when usbredir isn't compiled in, those criticals aren't reached
- a previous attempt was to initialize the usb device manager during
  session instance init, however the manager shouldn't interact with a
  temporary migration session

Fixes:
https://gitlab.freedesktop.org/spice/spice-gtk/issues/67

Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
---
 src/spice-session.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/spice-session.c b/src/spice-session.c
index a2ed401..76c90b3 100644
--- a/src/spice-session.c
+++ b/src/spice-session.c
@@ -1492,7 +1492,17 @@ static void spice_session_class_init(SpiceSessionClass *klass)
  **/
 SpiceSession *spice_session_new(void)
 {
-    return SPICE_SESSION(g_object_new(SPICE_TYPE_SESSION, NULL));
+    SpiceSession *self = SPICE_SESSION(g_object_new(SPICE_TYPE_SESSION, NULL));
+    SpiceSessionPrivate *priv = self->priv;
+    GError *err = NULL;
+
+    priv->usb_manager = spice_usb_device_manager_get(self, &err);
+    if (err != NULL) {
+        SPICE_DEBUG("Could not initialize SpiceUsbDeviceManager - %s", err->message);
+        g_clear_error(&err);
+    }
+
+    return self;
 }
 
 G_GNUC_INTERNAL
-- 
2.20.1.2.gb21ebb671b

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux Virtualization]     [Linux Virtualization]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]