diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-broadband-modem-mbim.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/mm-broadband-modem-mbim.c b/src/mm-broadband-modem-mbim.c index d35274c9..bb1751db 100644 --- a/src/mm-broadband-modem-mbim.c +++ b/src/mm-broadband-modem-mbim.c @@ -270,10 +270,18 @@ modem_load_model (MMIfaceModem *self, { gchar *model; GTask *task; + MMPortMbim *port; + + port = mm_base_modem_peek_port_mbim (MM_BASE_MODEM (self)); + if (port) { + model = g_strdup (mm_kernel_device_get_physdev_product ( + mm_port_peek_kernel_device (MM_PORT (port)))); + } - model = g_strdup_printf ("MBIM [%04X:%04X]", - (mm_base_modem_get_vendor_id (MM_BASE_MODEM (self)) & 0xFFFF), - (mm_base_modem_get_product_id (MM_BASE_MODEM (self)) & 0xFFFF)); + if (!model) + model = g_strdup_printf ("MBIM [%04X:%04X]", + (mm_base_modem_get_vendor_id (MM_BASE_MODEM (self)) & 0xFFFF), + (mm_base_modem_get_product_id (MM_BASE_MODEM (self)) & 0xFFFF)); task = g_task_new (self, NULL, callback, user_data); g_task_return_pointer (task, model, g_free); |