summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2019-04-23 15:30:53 +0200
committerBeniamino Galvani <bgalvani@redhat.com>2019-04-24 16:20:11 +0200
commit32ee51eee002f5e6717b856fd0a095114a02cc96 (patch)
treeef5bf786650a4ac2ae7b10ebfdef221fdc565792
parent656753b70888badc29ffca592f82fd8355894596 (diff)
downloadNetworkManager-32ee51eee002f5e6717b856fd0a095114a02cc96.tar.gz
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.
-rw-r--r--src/nm-manager.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/nm-manager.c b/src/nm-manager.c
index ed2fa3df4e..c0cd15c0cd 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)) {