diff --git a/src/core/devices/nm-device.c b/src/core/devices/nm-device.c index e6c79e994c2be9f6938e3e5d877829b47737fc8c..94d37e4a8af9c1565e605cf066e03080b2361adc 100644 --- a/src/core/devices/nm-device.c +++ b/src/core/devices/nm-device.c @@ -6276,10 +6276,6 @@ carrier_changed(NMDevice *self, gboolean carrier) if (nm_device_is_master(self)) { if (carrier) { - /* Force master to retry getting ip addresses when carrier - * is restored. */ - if (priv->state == NM_DEVICE_STATE_ACTIVATED) - nm_device_update_dynamic_ip_setup(self); /* If needed, also resume IP configuration that is * waiting for carrier. */ if (priv->state == NM_DEVICE_STATE_IP_CONFIG) @@ -6307,12 +6303,6 @@ carrier_changed(NMDevice *self, gboolean carrier) * the device. */ nm_device_emit_recheck_auto_activate(self); - } else if (priv->state == NM_DEVICE_STATE_ACTIVATED) { - /* If the device is active without a carrier (probably because it is - * tagged for carrier ignore) ensure that when the carrier appears we - * renew DHCP leases and such. - */ - nm_device_update_dynamic_ip_setup(self); } } else { if (priv->state == NM_DEVICE_STATE_UNAVAILABLE) { @@ -6700,6 +6690,14 @@ device_link_changed(gpointer user_data) if (priv->state >= NM_DEVICE_STATE_IP_CONFIG && priv->state <= NM_DEVICE_STATE_ACTIVATED && !nm_device_sys_iface_state_is_external(self)) nm_device_l3cfg_commit(self, NM_L3_CFG_COMMIT_TYPE_REAPPLY, FALSE); + + /* If the device is active without a carrier (probably because it is + * tagged for carrier ignore) ensure that when the carrier appears we + * renew DHCP leases and such. + */ + if (priv->state == NM_DEVICE_STATE_ACTIVATED) { + nm_device_update_dynamic_ip_setup(self); + } } if (update_unmanaged_specs)