diff --git a/src/nm-active-connection.c b/src/nm-active-connection.c index 08037eb..151fb4d 100644 --- a/src/nm-active-connection.c +++ b/src/nm-active-connection.c @@ -810,14 +810,14 @@ 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); - NMDevice *master_device = nm_active_connection_get_device (master); check_master_ready (self); if ( master_state == NM_ACTIVE_CONNECTION_STATE_DEACTIVATING - && (!master_device || !nm_device_is_real (master_device))) { - /* Master failed without ever creating or realizing its device */ + && !priv->master_ready) { + /* Master disconnected before the slave was added */ if (NM_ACTIVE_CONNECTION_GET_CLASS (self)->master_failed) NM_ACTIVE_CONNECTION_GET_CLASS (self)->master_failed (self); }