aboutsummaryrefslogtreecommitdiff
path: root/src
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 /src
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.
Diffstat (limited to 'src')
-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);