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);