usb: dwc3: gadget: let us set lower max_speed
authorBen McCauley <ben.mccauley@garmin.com>
Mon, 16 Nov 2015 16:47:24 +0000 (10:47 -0600)
committerFelipe Balbi <balbi@ti.com>
Tue, 17 Nov 2015 17:35:48 +0000 (11:35 -0600)
commitb9e51b2b1fda19143f48d182ed7a2943f21e1ae4
tree33239cdda81290cbf5c12c3c262209ea52b82ce3
parent68fe05e2a45181ce02ab2698930b37f20487bd24
usb: dwc3: gadget: let us set lower max_speed

In some SoCs, dwc3 is implemented as a USB2.0 only
core, meaning that it can't ever achieve SuperSpeed.

Currect driver always sets gadget.max_speed to
USB_SPEED_SUPER unconditionally. This can causes
issues to some Host stacks where the host will issue
a GetBOS() request and we will reply with a BOS
containing Superspeed Capability Descriptor.

At least Windows seems to be upset by this fact and
prints a warning that we should connect $this device
to another port.

[ balbi@ti.com : rewrote entire commit, including
source code comment to make a lot clearer what the
problem is ]

Cc: <stable@vger.kernel.org>
Signed-off-by: Ben McCauley <ben.mccauley@garmin.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/dwc3/gadget.c