[generic/3.7]: fix 820-usb_add_usb_find_device_by_name.patch
[openwrt.git] / target / linux / generic / patches-3.7 / 820-usb_add_usb_find_device_by_name.patch
index dc90e75..c77ebd1 100644 (file)
@@ -8,6 +8,7 @@
 +                                          const char *name)
 +{
 +      struct usb_device *ret_dev = NULL;
++      struct usb_device *childdev = NULL;
 +      int child;
 +
 +      dev_dbg(&dev->dev, "check for name %s ...\n", name);
 +              ret_dev = usb_get_dev(dev);
 +              goto exit;
 +      }
-+
 +      /* look through all of the children of this device */
-+      for (child = 0; child < dev->maxchild; ++child) {
-+              if (dev->children[child]) {
-+                      usb_lock_device(dev->children[child]);
-+                      ret_dev = match_device_name(dev->children[child], name);
-+                      usb_unlock_device(dev->children[child]);
++      usb_hub_for_each_child(dev, child, childdev) {
++              if (childdev) {
++                      usb_lock_device(childdev);
++                      ret_dev = match_device_name(childdev, name);
++                      usb_unlock_device(childdev);
 +                      if (ret_dev)
 +                              goto exit;
 +              }