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.
81 lines
3.0 KiB
81 lines
3.0 KiB
5 years ago
|
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
|