USB: Refactor code to find alternate interface settings.
authorSarah Sharp <sarah.a.sharp@linux.intel.com>
Thu, 3 Dec 2009 17:44:34 +0000 (09:44 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 11 Dec 2009 19:55:27 +0000 (11:55 -0800)
commit91017f9cf5fcfb601b8d583c896ac7de7d200c57
treeca601c606ded366e14df0ac019ecd4c43c5b11d9
parent06df572909080786e128eabdb2e39a12bce239de
USB: Refactor code to find alternate interface settings.

Refactor out the code to find alternate interface settings into
usb_find_alt_setting().  Print a debugging message and return null if the
alt setting is not found.

While we're at it, correct a bug in the refactored code.  The interfaces
in the configuration's interface cache are not necessarily in numerical
order, so we can't just use the interface number as an array index.  Loop
through the interface caches, looking for the correct interface.

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/core/hcd.c
drivers/usb/core/usb.c
include/linux/usb.h