summaryrefslogtreecommitdiffstats
path: root/plugins/udevng.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/udevng.c')
-rw-r--r--plugins/udevng.c23
1 files changed, 14 insertions, 9 deletions
diff --git a/plugins/udevng.c b/plugins/udevng.c
index 3ac52c57..0a831595 100644
--- a/plugins/udevng.c
+++ b/plugins/udevng.c
@@ -703,17 +703,10 @@ static struct {
{ }
};
-static void check_device(struct udev_device *device)
+static void check_usb_device(struct udev_device *device)
{
struct udev_device *usb_device;
- const char *bus, *driver, *syspath, *devname;
-
- bus = udev_device_get_property_value(device, "ID_BUS");
- if (bus == NULL)
- return;
-
- if (g_str_equal(bus, "usb") == FALSE)
- return;
+ const char *driver, *syspath, *devname;
usb_device = udev_device_get_parent_with_subsystem_devtype(device,
"usb", "usb_device");
@@ -777,6 +770,18 @@ static void check_device(struct udev_device *device)
add_device(syspath, devname, driver, device);
}
+static void check_device(struct udev_device *device)
+{
+ const char *bus;
+
+ bus = udev_device_get_property_value(device, "ID_BUS");
+ if (bus == NULL)
+ return;
+
+ if (g_str_equal(bus, "usb") == TRUE)
+ check_usb_device(device);
+}
+
static gboolean create_modem(gpointer key, gpointer value, gpointer user_data)
{
struct modem_info *modem = value;