diff options
| -rw-r--r-- | target/linux/generic/patches-3.7/820-usb_add_usb_find_device_by_name.patch | 12 | 
1 files changed, 6 insertions, 6 deletions
| diff --git a/target/linux/generic/patches-3.7/820-usb_add_usb_find_device_by_name.patch b/target/linux/generic/patches-3.7/820-usb_add_usb_find_device_by_name.patch index dc90e75b8..c77ebd11c 100644 --- a/target/linux/generic/patches-3.7/820-usb_add_usb_find_device_by_name.patch +++ b/target/linux/generic/patches-3.7/820-usb_add_usb_find_device_by_name.patch @@ -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;  +		} | 
