diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c index f834875cbf..0956135a97 100644 --- a/src/devices/nm-device.c +++ b/src/devices/nm-device.c @@ -1180,6 +1180,8 @@ device_link_changed (NMDevice *self, NMPlatformLink *info) } /* Update slave status for external changes */ + if (priv->enslaved && info->master != nm_device_get_ifindex (priv->master)) + nm_device_release_one_slave (priv->master, self, FALSE, NM_DEVICE_STATE_REASON_NONE); if (info->master && !priv->enslaved) { NMDevice *master; @@ -1197,8 +1199,7 @@ device_link_changed (NMDevice *self, NMPlatformLink *info) info->master, nm_platform_link_get_name (info->master)); } - } else if (priv->enslaved && !info->master) - nm_device_release_one_slave (priv->master, self, FALSE, NM_DEVICE_STATE_REASON_NONE); + } if (klass->link_changed) klass->link_changed (self, info);