aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Chan <benchan@chromium.org>2017-10-03 22:30:49 -0700
committerAleksander Morgado <aleksander@aleksander.es>2017-10-07 10:05:40 +0200
commitf8a375b1fa3c9d5f8b3f0a7f39d0576baa01436c (patch)
tree3d06fa2f326b945a5c587dacb21deda7c7f4f2d0
parent3a0d658b5d8eef55fdc5ad8c07dcb2c7f2e86453 (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.c12
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);