summary refs log tree commit diff
path: root/src/nm-udev-manager.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nm-udev-manager.c')
-rw-r--r--src/nm-udev-manager.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/nm-udev-manager.c b/src/nm-udev-manager.c
index 41a4e15b..e0795e81 100644
--- a/src/nm-udev-manager.c
+++ b/src/nm-udev-manager.c
@@ -439,9 +439,13 @@ device_creator (NMUdevManager *manager,
 		if (parent) {
 			driver = g_udev_device_get_driver (parent);
 			if (!driver) {
-				/* try the grandparent only if it's an ibmebus device */
+				/* try the grandparent if it's an ibmebus device or if the
+				 * subsys is NULL which usually indicates some sort of
+				 * platform device like a 'gadget' net interface.
+				 */
 				subsys = g_udev_device_get_subsystem (parent);
-				if (subsys && !strcmp (subsys, "ibmebus")) {
+				if (   (g_strcmp0 (subsys, "ibmebus") == 0)
+				    || (subsys == NULL)) {
 					grandparent = g_udev_device_get_parent (parent);
 					if (grandparent)
 						driver = g_udev_device_get_driver (grandparent);