| Date | Thu, 01 Oct 2009 18:17:44 -0700 | From | Greg KH <> | Subject | [116/136] USB: Fix SS endpoint companion descriptor parsing. |
| |
2.6.31-stable review patch. If anyone has any objections, please let us know.
------------------ From: Sarah Sharp <sarah.a.sharp@linux.intel.com>
commit 6682bb39e111b34290e25c4d275c5bcf8bbccbe1 upstream.
When there's a descriptor after the SuperSpeed endpoint companion descriptor, the previous code would have skipped over twice the length it was supposed to. This code fixes crashes seen with UASP devices (which have a UASP descriptor after the SS endpoint companion descriptor).
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- drivers/usb/core/config.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/usb/core/config.c +++ b/drivers/usb/core/config.c @@ -105,7 +105,7 @@ static int usb_parse_ss_endpoint_compani ep->ss_ep_comp->extralen = i; buffer += i; size -= i; - retval = buffer - buffer_start + i; + retval = buffer - buffer_start; if (num_skipped > 0) dev_dbg(ddev, "skipped %d descriptor%s after %s\n", num_skipped, plural(num_skipped),
|