USB: check the endpoint type against the pipe type
authorAlan Stern <stern@rowland.harvard.edu>
Fri, 11 Dec 2009 21:20:20 +0000 (16:20 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 2 Mar 2010 22:53:07 +0000 (14:53 -0800)
commitf661c6f8c67bd55e93348f160d590ff9edf08904
tree9b5abdda44f9bfb0b6a6dcb51217701a67ed40a0
parenta91b0c502285fd0c569fae1222fdd945ef739233
USB: check the endpoint type against the pipe type

This patch (as1316) adds some error checking to usb_submit_urb().
It's conditional on CONFIG_USB_DEBUG, so it won't affect normal users.
The new check makes sure that the actual type of the endpoint
described by urb->pipe agrees with the type encoded in the pipe value.

The USB error code documentation is updated to include the code
returned by the new check, and the usbfs SUBMITURB handler is updated
to use the correct pipe type when legacy user code tries to submit a
bulk transfer to an interrupt endpoint.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Documentation/usb/error-codes.txt
drivers/usb/core/devio.c
drivers/usb/core/urb.c