Blame SOURCES/1003-sw-devices-managed-after-wake-rh1701585.patch

a31528
From 98b1cf070bfa857a8a39b6499b39494bc4f4e54b Mon Sep 17 00:00:00 2001
a31528
From: Beniamino Galvani <bgalvani@redhat.com>
a31528
Date: Tue, 23 Apr 2019 16:39:17 +0200
a31528
Subject: [PATCH 1/2] manager: clear unmanaged-sleeping flag on software
a31528
 devices on resume
a31528
a31528
When networking is disabled at NM startup we unmanage all devices
a31528
(including software ones) due to SLEEPING. After networking gets
a31528
enabled again we must clear the unmanaged-sleeping flag on software
a31528
devices.
a31528
a31528
(cherry picked from commit 656753b70888badc29ffca592f82fd8355894596)
a31528
(cherry picked from commit bb555ff6b5959767ab663d610cdabb8baa280447)
a31528
---
a31528
 src/nm-manager.c | 8 ++++----
a31528
 1 file changed, 4 insertions(+), 4 deletions(-)
a31528
a31528
diff --git a/src/nm-manager.c b/src/nm-manager.c
a31528
index 40e068ac5..ed2fa3df4 100644
a31528
--- a/src/nm-manager.c
a31528
+++ b/src/nm-manager.c
a31528
@@ -5923,10 +5923,10 @@ do_sleep_wake (NMManager *self, gboolean sleeping_changed)
a31528
 		c_list_for_each_entry (device, &priv->devices_lst_head, devices_lst) {
a31528
 			guint i;
a31528
 
a31528
-			if (nm_device_is_software (device)) {
a31528
-				/* We do not manage/unmanage software devices but
a31528
-				 * their dhcp leases could have gone stale so we need
a31528
-				 * to renew them */
a31528
+			if (   nm_device_is_software (device)
a31528
+			    && !nm_device_get_unmanaged_flags (device, NM_UNMANAGED_SLEEPING)) {
a31528
+				/* DHCP leases of software devices could have gone stale
a31528
+				 * so we need to renew them. */
a31528
 				nm_device_update_dynamic_ip_setup (device);
a31528
 				continue;
a31528
 			}
a31528
-- 
a31528
2.20.1
a31528
a31528
From 9b08f52f043cb5f3794f1432df157a16c222b21c Mon Sep 17 00:00:00 2001
a31528
From: Beniamino Galvani <bgalvani@redhat.com>
a31528
Date: Tue, 23 Apr 2019 15:30:53 +0200
a31528
Subject: [PATCH 2/2] manager: unmanage software devices when networking gets
a31528
 disabled
a31528
a31528
If a user disables networking, we consider that as an indication that
a31528
also software devices must be disconnected. OTOH, we don't want to
a31528
destroy them for external events as a system suspend.
a31528
a31528
(cherry picked from commit 32ee51eee002f5e6717b856fd0a095114a02cc96)
a31528
(cherry picked from commit da8462df1a273cd6b31f885b866726a64ca14550)
a31528
---
a31528
 src/nm-manager.c | 12 +++++++++---
a31528
 1 file changed, 9 insertions(+), 3 deletions(-)
a31528
a31528
diff --git a/src/nm-manager.c b/src/nm-manager.c
a31528
index ed2fa3df4..c0cd15c0c 100644
a31528
--- a/src/nm-manager.c
a31528
+++ b/src/nm-manager.c
a31528
@@ -5866,9 +5866,15 @@ do_sleep_wake (NMManager *self, gboolean sleeping_changed)
a31528
 		 * suspend/resume?
a31528
 		 */
a31528
 		c_list_for_each_entry (device, &priv->devices_lst_head, devices_lst) {
a31528
-			/* FIXME: shouldn't we be unmanaging software devices if !suspending? */
a31528
-			if (nm_device_is_software (device))
a31528
-				continue;
a31528
+			if (nm_device_is_software (device)) {
a31528
+				/* If a user disables networking we consider that as an
a31528
+				 * indication that also software devices must be disconnected.
a31528
+				 * But we don't want to destroy them for external events as
a31528
+				 * a system suspend.
a31528
+				 */
a31528
+				if (suspending)
a31528
+					continue;
a31528
+			}
a31528
 			/* Wake-on-LAN devices will be taken down post-suspend rather than pre- */
a31528
 			if (   suspending
a31528
 			    && device_is_wake_on_lan (priv->platform, device)) {
a31528
-- 
a31528
2.20.1
a31528