usb: typec: retimer: Add missing id check in match callback
[platform/kernel/linux-starfive.git] / drivers / usb / typec / retimer.c
index 051eaa7..2003731 100644 (file)
@@ -36,8 +36,13 @@ static int retimer_fwnode_match(struct device *dev, const void *fwnode)
 
 static void *typec_retimer_match(struct fwnode_handle *fwnode, const char *id, void *data)
 {
-       struct device *dev  = class_find_device(&retimer_class, NULL, fwnode,
-                                               retimer_fwnode_match);
+       struct device *dev;
+
+       if (id && !fwnode_property_present(fwnode, id))
+               return NULL;
+
+       dev = class_find_device(&retimer_class, NULL, fwnode,
+                               retimer_fwnode_match);
 
        return dev ? to_typec_retimer(dev) : ERR_PTR(-EPROBE_DEFER);
 }