summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2015-11-25 11:07:33 +0100
committerLubomir Rintel <lkundrak@v3.sk>2015-11-25 11:22:22 +0100
commitfa96bade799b274eaa1b94e4dd04bdac26f54136 (patch)
tree9972f96f8dc95dcdc659fdde7a8e9a75299015cd
parent8aab22fe4545f69a278351f990ccd021f16e25ff (diff)
downloadNetworkManager-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.c6
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,