diff options
author | Ben Chan <benchan@chromium.org> | 2017-10-03 22:30:49 -0700 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2017-10-07 10:05:40 +0200 |
commit | f8a375b1fa3c9d5f8b3f0a7f39d0576baa01436c (patch) | |
tree | 3d06fa2f326b945a5c587dacb21deda7c7f4f2d0 | |
parent | 3a0d658b5d8eef55fdc5ad8c07dcb2c7f2e86453 (diff) |
broadband-modem-mbim: use device manufacturer information when available
MBIM modems can be supported by the 'generic' plugin. Instead of
treating the plugin name (i.e. Generic) as the manufacturer, it's more
useful to use the manufacturer information reported by the underlying
USB device if that is available.
-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); |