From c780befe0cda15e4ca43f00f9967f8cd32107067 Mon Sep 17 00:00:00 2001 From: Beniamino Galvani Date: Tue, 9 Apr 2019 16:15:46 +0200 Subject: [PATCH] team: clean up state when connection to teamd fails 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 (cherry picked from commit c48698d74778f1ac1c06bb8713b18e8d1edc1e24) (cherry picked from commit 43571d1013c26bc66cf0bdc1961b0c5e9d3a1b5d) --- src/devices/team/nm-device-team.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/devices/team/nm-device-team.c b/src/devices/team/nm-device-team.c index 899932fd4b..5565c46f76 100644 --- a/src/devices/team/nm-device-team.c +++ b/src/devices/team/nm-device-team.c @@ -407,8 +407,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); + } } }