usb: dwc3: gadget: Use max speed if unspecified
If the gadget driver doesn't specify a max_speed, then use the controller's maximum supported speed as default. For DWC_usb32 IP, the gadget's speed maybe limited to gen2x1 rate only if the driver's max_speed is unknown. This scenario should not occur with the current implementation since the default gadget driver's max_speed should always be specified. However, to make the driver more robust and help with readability, let's cover all the scenarios in __dwc3_gadget_set_speed(). Fixes: 450b9e9fabd8 ("usb: dwc3: gadget: Set speed only up to the max supported") Cc: <stable@vger.kernel.org> Signed-off-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com> Link: https://lore.kernel.org/r/55ac7001af73bfe9bc750c6446ef4ac8cf6f9313.1615254129.git.Thinh.Nguyen@synopsys.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
cdb651b602
commit
93f1d43c57
@ -2083,7 +2083,7 @@ static void __dwc3_gadget_set_speed(struct dwc3 *dwc)
|
||||
u32 reg;
|
||||
|
||||
speed = dwc->gadget_max_speed;
|
||||
if (speed > dwc->maximum_speed)
|
||||
if (speed == USB_SPEED_UNKNOWN || speed > dwc->maximum_speed)
|
||||
speed = dwc->maximum_speed;
|
||||
|
||||
if (speed == USB_SPEED_SUPER_PLUS &&
|
||||
|
Loading…
x
Reference in New Issue
Block a user