summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Winship <danw@gnome.org>2013-11-26 12:17:12 -0500
committerDan Winship <danw@gnome.org>2013-11-27 08:54:18 -0500
commitff93ed672b9447a980305bf29c3ac301a67799a4 (patch)
tree1cc2457c155a578d2693fafa972d560255ee0c7a
parent91a95dd9165023966b4377ad49cd8342eab5d776 (diff)
downloadNetworkManager-ff93ed672b9447a980305bf29c3ac301a67799a4.tar.gz
devices: if IP4 and IP6 config both fail right away, fail the device
Previously, the device activation would stall in this case, because the code wasn't expecting it to happen. In particular, this happens when trying to assume a device that is up but has no IP config. https://bugzilla.gnome.org/show_bug.cgi?id=715181
-rw-r--r--src/devices/nm-device.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
index d92a94b28a..262f627329 100644
--- a/src/devices/nm-device.c
+++ b/src/devices/nm-device.c
@@ -3734,6 +3734,11 @@ nm_device_activate_stage3_ip_config_start (gpointer user_data)
if (!nm_device_activate_stage3_ip6_start (self))
goto out;
+ if (priv->ip4_state == IP_FAIL && priv->ip6_state == IP_FAIL) {
+ nm_device_state_changed (self, NM_DEVICE_STATE_FAILED,
+ NM_DEVICE_STATE_REASON_IP_CONFIG_UNAVAILABLE);
+ }
+
out:
nm_log_info (LOGD_DEVICE, "Activation (%s) Stage 3 of 5 (IP Configure Start) complete.", iface);
return FALSE;