diff options
Diffstat (limited to 'src/devices/nm-device.c')
-rw-r--r-- | src/devices/nm-device.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c index d5c4386c5e..110a1f39ee 100644 --- a/src/devices/nm-device.c +++ b/src/devices/nm-device.c @@ -1041,6 +1041,13 @@ carrier_changed (NMDevice *device, gboolean carrier) if (priv->state == NM_DEVICE_STATE_UNAVAILABLE) { nm_device_queue_state (device, NM_DEVICE_STATE_DISCONNECTED, NM_DEVICE_STATE_REASON_CARRIER); + } else if (priv->state == NM_DEVICE_STATE_DISCONNECTED) { + /* If the device is already in DISCONNECTED state without a carrier + * (probably because it is tagged for carrier ignore) ensure that + * when the carrier appears, auto connections are rechecked for + * the device. + */ + nm_device_emit_recheck_auto_activate (device); } } else { g_return_if_fail (priv->state >= NM_DEVICE_STATE_UNAVAILABLE); |