usb: ch9: fix up MaxStreams helper
authorFelipe Balbi <balbi@ti.com>
Mon, 2 Jan 2012 11:35:41 +0000 (13:35 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 4 Jan 2012 23:52:42 +0000 (15:52 -0800)
commit18b7ede5f7ee2092aedcb578d3ac30bd5d4fc23c
treea49fe4ec2a86b37c8bed5041b8314c118b1ebead
parente28dbb0661ca49ada2d6a307a1ec93dd75d515e0
usb: ch9: fix up MaxStreams helper

According to USB 3.0 Specification Table 9-22, if
bmAttributes [4:0] are set to zero, it means "no
streams supported", but the way this helper was
defined on Linux, we will *always* have one stream
which might cause several problems.

For example on DWC3, we would tell the controller
endpoint has streams enabled and yet start transfers
with Stream ID set to 0, which would goof up the host
side.

While doing that, convert the macro to an inline
function due to the different checks we now need.

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/dwc3/gadget.c
drivers/usb/host/xhci.c
include/linux/usb/ch9.h