From 36cb2f364a821e1be50b23e03a18891ec55adb06 Mon Sep 17 00:00:00 2001 From: Michael Biebl Date: Fri, 26 Oct 2012 21:32:57 +0200 Subject: Imported Upstream version 0.9.6.4 --- src/nm-manager.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/nm-manager.c') diff --git a/src/nm-manager.c b/src/nm-manager.c index f2816cd7..22c3bd43 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -2123,6 +2123,14 @@ udev_device_removed_cb (NMUdevManager *manager, NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (self); NMDevice *device; guint32 ifindex; + const char *iface = g_udev_device_get_name (udev_device); + + /* Ignore PPP interfaces as they are the IP interface of a device, + * but they come and go when the device gets activated or deactivated. + * We don't want their transient nature to affect their master device. + */ + if (strncmp (iface, "ppp", 3) == 0) + return; ifindex = g_udev_device_get_property_as_int (udev_device, "IFINDEX"); device = find_device_by_ifindex (self, ifindex); @@ -2131,7 +2139,7 @@ udev_device_removed_cb (NMUdevManager *manager, * they may have already been removed from sysfs. Instead, we just * have to fall back to the device's interface name. */ - device = find_device_by_ip_iface (self, g_udev_device_get_name (udev_device)); + device = find_device_by_ip_iface (self, iface); } if (device) -- cgit 1.3.0-6-gf8a5