From 17353c1b0a2e6f58fd7a36a066901ef516005b41 Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Tue, 23 Jun 2015 21:13:58 +0200 Subject: [PATCH] active-connection: fail the activation if the master AC disconnect The master may not have successfully activated even though we know the device already. (cherry picked from commit 40788349997764ee2b0493c131b9640f9f065234) --- src/nm-active-connection.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/nm-active-connection.c b/src/nm-active-connection.c index d0b5b8753f..d40d571e8a 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);