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