summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2019-04-09 16:15:46 +0200
committerBeniamino Galvani <bgalvani@redhat.com>2019-04-09 16:40:17 +0200
commit0d6e49796297b36b6efb3f9fd27ecf6fc8b6b073 (patch)
tree62ed10d4442777dd9c8a93f1407becc181a00dbe
parentb1f556bae238afdb4bcea9821e429df00ec9f2ae (diff)
downloadNetworkManager-bg/rh1697900.tar.gz
team: clean up state when connection to teamd failsbg/rh1697900
If NM fails to connect to teamd, it currently just sets the device state to FAILED and waits that deactivate() is called later. However, the 5 seconds timeout on teamd process start can hit in the meantime, which fails with an assertion "nm_device_is_activating (device)". Clean up the device state when the connection to teamd fails. https://bugzilla.redhat.com/show_bug.cgi?id=1697900
-rw-r--r--src/devices/team/nm-device-team.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/devices/team/nm-device-team.c b/src/devices/team/nm-device-team.c
index 38a6dd8c6c..402be1ef55 100644
--- a/src/devices/team/nm-device-team.c
+++ b/src/devices/team/nm-device-team.c
@@ -408,8 +408,10 @@ teamd_dbus_appeared (GDBusConnection *connection,
success = teamd_read_config (device);
if (success)
nm_device_activate_schedule_stage2_device_config (device);
- else if (!nm_device_sys_iface_state_is_external_or_assume (device))
+ else if (!nm_device_sys_iface_state_is_external_or_assume (device)) {
+ teamd_cleanup (device, TRUE);
nm_device_state_changed (device, NM_DEVICE_STATE_FAILED, NM_DEVICE_STATE_REASON_TEAMD_CONTROL_FAILED);
+ }
}
}