mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-29 23:10:18 +01:00
device-modem: fix setting initial ip-iface in old MM managed modems
'NM_DEVICE_IP_IFACE' has never been a writable property, just skip it and explicitly call 'nm_device_set_ip_iface()' when the modem is managed by the old ModemManager. https://bugzilla.gnome.org/show_bug.cgi?id=701712
This commit is contained in:
parent
8a93c83161
commit
9d52a32c8f
1 changed files with 19 additions and 27 deletions
|
|
@ -337,40 +337,32 @@ nm_device_modem_new (NMModem *modem, const char *driver)
|
|||
{
|
||||
NMDeviceModemCapabilities caps = NM_DEVICE_MODEM_CAPABILITY_NONE;
|
||||
NMDeviceModemCapabilities current_caps = NM_DEVICE_MODEM_CAPABILITY_NONE;
|
||||
const gchar *ip_iface = NULL;
|
||||
NMDevice *device;
|
||||
|
||||
g_return_val_if_fail (NM_IS_MODEM (modem), NULL);
|
||||
g_return_val_if_fail (driver != NULL, NULL);
|
||||
|
||||
if (NM_IS_MODEM_OLD (modem)) {
|
||||
ip_iface = nm_modem_get_data_port (modem);
|
||||
}
|
||||
#if WITH_MODEM_MANAGER_1
|
||||
else if (NM_IS_MODEM_BROADBAND (modem)) {
|
||||
/* In ModemManager1 modems, data port is not yet known */
|
||||
ip_iface = NULL;
|
||||
}
|
||||
#endif
|
||||
else {
|
||||
nm_log_warn (LOGD_MB, "unhandled modem type %s", G_OBJECT_TYPE_NAME (modem));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Load capabilities */
|
||||
nm_modem_get_capabilities (modem, &caps, ¤t_caps);
|
||||
|
||||
return (NMDevice *) g_object_new (NM_TYPE_DEVICE_MODEM,
|
||||
NM_DEVICE_UDI, nm_modem_get_path (modem),
|
||||
NM_DEVICE_IFACE, nm_modem_get_uid (modem),
|
||||
NM_DEVICE_IP_IFACE, ip_iface,
|
||||
NM_DEVICE_DRIVER, driver,
|
||||
NM_DEVICE_TYPE_DESC, "Broadband",
|
||||
NM_DEVICE_DEVICE_TYPE, NM_DEVICE_TYPE_MODEM,
|
||||
NM_DEVICE_RFKILL_TYPE, RFKILL_TYPE_WWAN,
|
||||
NM_DEVICE_MODEM_MODEM, modem,
|
||||
NM_DEVICE_MODEM_CAPABILITIES, caps,
|
||||
NM_DEVICE_MODEM_CURRENT_CAPABILITIES, current_caps,
|
||||
NULL);
|
||||
device = (NMDevice *) g_object_new (NM_TYPE_DEVICE_MODEM,
|
||||
NM_DEVICE_UDI, nm_modem_get_path (modem),
|
||||
NM_DEVICE_IFACE, nm_modem_get_uid (modem),
|
||||
NM_DEVICE_DRIVER, driver,
|
||||
NM_DEVICE_TYPE_DESC, "Broadband",
|
||||
NM_DEVICE_DEVICE_TYPE, NM_DEVICE_TYPE_MODEM,
|
||||
NM_DEVICE_RFKILL_TYPE, RFKILL_TYPE_WWAN,
|
||||
NM_DEVICE_MODEM_MODEM, modem,
|
||||
NM_DEVICE_MODEM_CAPABILITIES, caps,
|
||||
NM_DEVICE_MODEM_CURRENT_CAPABILITIES, current_caps,
|
||||
NULL);
|
||||
|
||||
/* In old MM modems, data port is known right away (may be changed
|
||||
* afterwards during a PPP session setup) */
|
||||
if (NM_IS_MODEM_OLD (modem))
|
||||
nm_device_set_ip_iface (device, nm_modem_get_data_port (modem));
|
||||
|
||||
return device;
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue