diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c index f07c4f09a5..823cf48a53 100644 --- a/src/devices/nm-device.c +++ b/src/devices/nm-device.c @@ -4151,11 +4151,12 @@ nm_device_create_and_realize (NMDevice *self, nm_auto_nmpobj const NMPObject *plink_keep_alive = NULL; NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE (self); const NMPlatformLink *plink; + gboolean nm_owned; /* Must be set before device is realized */ plink = nm_platform_link_get_by_ifname (nm_device_get_platform (self), priv->iface); - priv->nm_owned = !plink || !link_type_compatible (self, plink->type, NULL, NULL); - _LOGD (LOGD_DEVICE, "create (is %snm-owned)", priv->nm_owned ? "" : "not "); + nm_owned = !plink || !link_type_compatible (self, plink->type, NULL, NULL); + _LOGD (LOGD_DEVICE, "create (is %snm-owned)", nm_owned ? "" : "not "); plink = NULL; /* Create any resources the device needs */ @@ -4168,6 +4169,8 @@ nm_device_create_and_realize (NMDevice *self, } } + priv->nm_owned = nm_owned; + realize_start_setup (self, plink, FALSE, /* assume_state_guess_assume */ diff --git a/src/nm-manager.c b/src/nm-manager.c index 64cdb9aed2..869ae94ae6 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -2032,7 +2032,6 @@ system_create_virtual_device (NMManager *self, NMConnection *connection) "couldn't create the device: %s", error->message); g_error_free (error); - remove_device (self, device, FALSE); return NULL; }