summaryrefslogtreecommitdiff
path: root/src/nm-manager.c
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2012-10-26 21:32:57 +0200
committerMichael Biebl <biebl@debian.org>2012-10-26 21:32:57 +0200
commit36cb2f364a821e1be50b23e03a18891ec55adb06 (patch)
treedcc7ff4019373acf1583c3271c4efbddbf43aa6c /src/nm-manager.c
parent8c98b34228abb4dfde822ad89106b4d8b2287639 (diff)
Imported Upstream version 0.9.6.4upstream/0.9.6.4
Diffstat (limited to 'src/nm-manager.c')
-rw-r--r--src/nm-manager.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/nm-manager.c b/src/nm-manager.c
index f2816cd7a..22c3bd43e 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)