Blob Blame History Raw
From 2c214deaa1d06cd898ae026c104f890d62f816c2 Mon Sep 17 00:00:00 2001
From: Beniamino Galvani <bgalvani@redhat.com>
Date: Mon, 19 Mar 2018 14:15:56 +0100
Subject: [PATCH] manager: retry activating devices when the parent becomes
 managed

Since commit ed640f857a1a ("manager: ignore unmanaged devices when
looking for parent by UUID"), unmanaged devices are ignored when
looking for potential parent connection matches. Therefore, a software
device can fail autoactivation because the parent is not managed yet
and NM never tries to reactivate it. Ensure that we retry other
devices when a parent device becomes managed.

Fixes: ed640f857a1a1eae45d92cce35ea8dcfd8aba08d

https://bugzilla.redhat.com/show_bug.cgi?id=1553595
(cherry picked from commit 6493bd443f6c1d089919f0bb63c735bc2a76fc75)
(cherry picked from commit 34ca168071369c8a9ed8517868ac6922a3017041)
---
 src/nm-manager.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/nm-manager.c b/src/nm-manager.c
index 001fae553..a3862c788 100644
--- a/src/nm-manager.c
+++ b/src/nm-manager.c
@@ -1178,6 +1178,10 @@ manager_device_state_changed (NMDevice *device,
 	NMManager *self = NM_MANAGER (user_data);
 	NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (self);
 
+	if (   old_state == NM_DEVICE_STATE_UNMANAGED
+	    && new_state > NM_DEVICE_STATE_UNMANAGED)
+		retry_connections_for_parent_device (self, device);
+
 	switch (new_state) {
 	case NM_DEVICE_STATE_UNMANAGED:
 	case NM_DEVICE_STATE_UNAVAILABLE:
-- 
2.14.3