From 100dd87afd86e0d969670fa1b13b4040046b981a Mon Sep 17 00:00:00 2001 From: Sarah Sharp Date: Tue, 5 Jan 2010 14:33:29 -0800 Subject: [PATCH] --- yaml --- r: 185315 b: refs/heads/master c: d837e219daf3bf0cc84fcfb9781807d9fe8d03b5 h: refs/heads/master i: 185313: f7d56f1e7b9c93bd1d73ddc75638ab48d29c0f04 185311: 1ae8789db3ab09e850104203b571e4a74b96e75c v: v3 --- [refs] | 2 +- trunk/drivers/usb/core/hcd.c | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 36a0f1a25a39..881f2b38d68e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 46216e4fbe8c62059b5440dec0b236f386248a41 +refs/heads/master: d837e219daf3bf0cc84fcfb9781807d9fe8d03b5 diff --git a/trunk/drivers/usb/core/hcd.c b/trunk/drivers/usb/core/hcd.c index 80995ef0868c..cf0a098a5432 100644 --- a/trunk/drivers/usb/core/hcd.c +++ b/trunk/drivers/usb/core/hcd.c @@ -1670,11 +1670,16 @@ int usb_hcd_alloc_bandwidth(struct usb_device *udev, } } for (i = 0; i < num_intfs; ++i) { + struct usb_host_interface *first_alt; + int iface_num; + + first_alt = &new_config->intf_cache[i]->altsetting[0]; + iface_num = first_alt->desc.bInterfaceNumber; /* Set up endpoints for alternate interface setting 0 */ - alt = usb_find_alt_setting(new_config, i, 0); + alt = usb_find_alt_setting(new_config, iface_num, 0); if (!alt) /* No alt setting 0? Pick the first setting. */ - alt = &new_config->intf_cache[i]->altsetting[0]; + alt = first_alt; for (j = 0; j < alt->desc.bNumEndpoints; j++) { ret = hcd->driver->add_endpoint(hcd, udev, &alt->endpoint[j]);