From 5c20dd9ea36a4bc84d1a32b0e30c8906570d5b02 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 6 Oct 2015 10:40:45 +0200 Subject: [PATCH] device: fix activating master/slave devices during stage2 During stage2, if the slave detected that it would need to wait for the master, it would return FALSE (which removes the g-idle-handler). However, it would not clear the activation-source, so later, when the master becomes ready, its attempt to schedule stage2 again would result in an error-log and the idle-handler would not be scheduled again. Fixes: 85ac903bb8010409c4010ba09c621780b385b9b5 https://bugzilla.redhat.com/show_bug.cgi?id=1268797 https://bugzilla.redhat.com/show_bug.cgi?id=1183444 (cherry picked from commit c5210b322dd3d5d26d3a3adb6d2ca67a3fc387e0) --- src/devices/nm-device.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c index 6e6b215f3a..56a2953626 100644 --- a/src/devices/nm-device.c +++ b/src/devices/nm-device.c @@ -2792,6 +2792,9 @@ nm_device_activate_stage2_device_config (gpointer user_data) NMActiveConnection *active = NM_ACTIVE_CONNECTION (priv->act_request); GSList *iter; + /* Clear the activation source ID now that this stage has run */ + activation_source_clear (self, FALSE, 0); + if (!priv->master_ready_handled) { if (!nm_active_connection_get_master (active)) priv->master_ready_handled = TRUE; @@ -2814,9 +2817,6 @@ nm_device_activate_stage2_device_config (gpointer user_data) } } - /* Clear the activation source ID now that this stage has run */ - activation_source_clear (self, FALSE, 0); - _LOGD (LOGD_DEVICE, "Activation: Stage 2 of 5 (Device Configure) starting..."); nm_device_state_changed (self, NM_DEVICE_STATE_CONFIG, NM_DEVICE_STATE_REASON_NONE);