diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2015-11-25 11:07:33 +0100 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2015-11-25 11:22:22 +0100 |
commit | fa96bade799b274eaa1b94e4dd04bdac26f54136 (patch) | |
tree | 9972f96f8dc95dcdc659fdde7a8e9a75299015cd | |
parent | 8aab22fe4545f69a278351f990ccd021f16e25ff (diff) | |
download | NetworkManager-fa96bade799b274eaa1b94e4dd04bdac26f54136.tar.gz |
nm-device: don't try to re-add LL address if the devices is torn down
Fixes: 9f92bb1f630d20674b83ad96a4d3fea299d9d12f
-rw-r--r-- | src/devices/nm-device.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c index b08f3836b3..f9e0475c2f 100644 --- a/src/devices/nm-device.c +++ b/src/devices/nm-device.c @@ -7886,7 +7886,8 @@ queued_ip6_config_change (gpointer user_data) g_object_ref (self); update_ip6_config (self, FALSE); - if (priv->state < NM_DEVICE_STATE_DEACTIVATING) { + if ( priv->state > NM_DEVICE_STATE_DISCONNECTED + && priv->state < NM_DEVICE_STATE_DEACTIVATING) { /* Handle DAD falures */ for (iter = priv->dad6_failed_addrs; iter; iter = g_slist_next (iter)) { NMPlatformIP6Address *addr = iter->data; @@ -7951,7 +7952,8 @@ device_ipx_changed (NMPlatform *platform, case NMP_OBJECT_TYPE_IP6_ADDRESS: addr = platform_object; - if ( priv->state < NM_DEVICE_STATE_DEACTIVATING + if ( priv->state > NM_DEVICE_STATE_DISCONNECTED + && priv->state < NM_DEVICE_STATE_DEACTIVATING && ( (change_type == NM_PLATFORM_SIGNAL_CHANGED && addr->flags & IFA_F_DADFAILED) || (change_type == NM_PLATFORM_SIGNAL_REMOVED && addr->flags & IFA_F_TENTATIVE))) { priv->dad6_failed_addrs = g_slist_append (priv->dad6_failed_addrs, |