diff options
-rw-r--r-- | src/udev/udev-builtin-hwdb.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/udev/udev-builtin-hwdb.c b/src/udev/udev-builtin-hwdb.c index f1c0ca9cb1..d6aa96bb3d 100644 --- a/src/udev/udev-builtin-hwdb.c +++ b/src/udev/udev-builtin-hwdb.c @@ -102,14 +102,13 @@ static int udev_builtin_hwdb_search(struct udev_device *dev, struct udev_device if (subsystem && !streq(dsubsys, subsystem)) continue; + modalias = udev_device_get_property_value(d, "MODALIAS"); + /* the usb_device does not have a modalias, compose one */ - if (streq(dsubsys, "usb")) + if (!modalias && streq(dsubsys, "usb")) modalias = modalias_usb(d, s, sizeof(s)); if (!modalias) - modalias = udev_device_get_property_value(d, "MODALIAS"); - - if (!modalias) continue; n = udev_builtin_hwdb_lookup(dev, prefix, modalias, filter, test); |