summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2017-08-31 18:29:42 +0200
committerBeniamino Galvani <bgalvani@redhat.com>2017-08-31 18:30:01 +0200
commit7a69076f06ea7d6fd4741bfe259b107949163ac9 (patch)
tree752fd46d9d9a3e6b5d9d74e5b16e96a5931165c9
parentc793d1771a39d3f1dc04e94553469cb3f678b57e (diff)
downloadNetworkManager-bg/rh1442361.tar.gz
device: don't release external or assumed slaves on state changebg/rh1442361
-rw-r--r--src/devices/nm-device.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
index 316eb6ca2f..dfc68af759 100644
--- a/src/devices/nm-device.c
+++ b/src/devices/nm-device.c
@@ -3578,6 +3578,7 @@ slave_state_changed (NMDevice *slave,
{
NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE (self);
gboolean release = FALSE;
+ gboolean configure;
_LOGD (LOGD_DEVICE, "slave %s state change %d (%s) -> %d (%s)",
nm_device_get_iface (slave),
@@ -3601,8 +3602,11 @@ slave_state_changed (NMDevice *slave,
}
if (release) {
+ configure = priv->sys_iface_state == NM_DEVICE_SYS_IFACE_STATE_MANAGED
+ && nm_device_sys_iface_state_get (slave) == NM_DEVICE_SYS_IFACE_STATE_MANAGED;
+
nm_device_master_release_one_slave (self, slave,
- priv->sys_iface_state == NM_DEVICE_SYS_IFACE_STATE_MANAGED,
+ configure,
reason);
/* Bridge/bond/team interfaces are left up until manually deactivated */
if ( c_list_is_empty (&priv->slaves)