diff options
-rw-r--r-- | src/mm-broadband-modem-mbim.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/mm-broadband-modem-mbim.c b/src/mm-broadband-modem-mbim.c index 79f5998e..fc13911d 100644 --- a/src/mm-broadband-modem-mbim.c +++ b/src/mm-broadband-modem-mbim.c @@ -235,9 +235,17 @@ modem_load_manufacturer (MMIfaceModem *self, gpointer user_data) { GTask *task; - gchar *manufacturer; + gchar *manufacturer = NULL; + MMPortMbim *port; + + port = mm_base_modem_peek_port_mbim (MM_BASE_MODEM (self)); + if (port) { + manufacturer = g_strdup (mm_kernel_device_get_physdev_manufacturer ( + mm_port_peek_kernel_device (MM_PORT (port)))); + } - manufacturer = g_strdup (mm_base_modem_get_plugin (MM_BASE_MODEM (self))); + if (!manufacturer) + manufacturer = g_strdup (mm_base_modem_get_plugin (MM_BASE_MODEM (self))); task = g_task_new (self, NULL, callback, user_data); g_task_return_pointer (task, manufacturer, g_free); |