summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/platform/nm-linux-platform.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c
index 6b9b3573d3..0375da944b 100644
--- a/src/platform/nm-linux-platform.c
+++ b/src/platform/nm-linux-platform.c
@@ -1909,6 +1909,19 @@ cache_pre_hook (NMPCache *cache, const NMPObject *old, const NMPObject *new, NMP
DELAYED_ACTION_TYPE_REFRESH_LINK,
GINT_TO_POINTER (new->link.ifindex));
}
+ if ( new->link.type == NM_LINK_TYPE_ETHERNET
+ && new->link.addr.len == 0) {
+ /* Due to a kernel bug, we sometimes receive spurious NEWLINK
+ * messages after a wifi interface has disappeared. Since the
+ * link is not present anymore we can't determine its type and
+ * thus it will show up as a Ethernet one, with no address
+ * specified. Request the link again to check if it really
+ * exists. https://bugzilla.redhat.com/show_bug.cgi?id=1302037
+ */
+ delayed_action_schedule (platform,
+ DELAYED_ACTION_TYPE_REFRESH_LINK,
+ GINT_TO_POINTER (new->link.ifindex));
+ }
}
{
/* on enslave/release, we also refresh the master. */