about summary refs log tree commit diff
path: root/src/nm-active-connection.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nm-active-connection.c')
-rw-r--r--src/nm-active-connection.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/nm-active-connection.c b/src/nm-active-connection.c
index d0b5b875..d40d571e 100644
--- a/src/nm-active-connection.c
+++ b/src/nm-active-connection.c
@@ -515,6 +515,7 @@ master_state_cb (NMActiveConnection *master,
                  gpointer user_data)
 {
 	NMActiveConnection *self = NM_ACTIVE_CONNECTION (user_data);
+	NMActiveConnectionPrivate *priv = NM_ACTIVE_CONNECTION_GET_PRIVATE (self);
 	NMActiveConnectionState master_state = nm_active_connection_get_state (master);
 
 	check_master_ready (self);
@@ -522,8 +523,8 @@ master_state_cb (NMActiveConnection *master,
 	nm_log_dbg (LOGD_DEVICE, "(%p): master ActiveConnection [%p] state now '%s' (%d)",
 	            self, master, state_to_string (master_state), master_state);
 
-	if (master_state == NM_ACTIVE_CONNECTION_STATE_DEACTIVATING &&
-	    nm_active_connection_get_device (master) == NULL) {
+	if (   master_state >= NM_ACTIVE_CONNECTION_STATE_DEACTIVATING
+	    && !priv->master_ready) {
 		/* Master failed without ever creating its device */
 		if (NM_ACTIVE_CONNECTION_GET_CLASS (self)->master_failed)
 			NM_ACTIVE_CONNECTION_GET_CLASS (self)->master_failed (self);