fix 820-usb_add_usb_find_device_by_name.patch

SVN-Revision: 34254
This commit is contained in:
Imre Kaloz 2012-11-19 10:56:09 +00:00
parent 4fa5781a95
commit 4c043300fc

View 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);
@ -18,13 +19,12 @@
+ 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;
+ }