From aa4f08131466ce0d3edfe1a91662054a6205f769 Mon Sep 17 00:00:00 2001 From: Prashanth K Date: Fri, 13 May 2022 12:00:07 +0530 Subject: [PATCH] usb: dwc3-msm: Don't allow dynamic speed change for host mode Dynamic speed change is not supported for Host mode. Return operation not permitted for the same. Change-Id: I926c1f7cf5f5c65729a1d3fe2a89dc11f97970ad Signed-off-by: Harsh Agarwal Signed-off-by: Prashanth K --- drivers/usb/dwc3/dwc3-msm-core.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/usb/dwc3/dwc3-msm-core.c b/drivers/usb/dwc3/dwc3-msm-core.c index 86bf95ec3aba..66265a4d9f2f 100644 --- a/drivers/usb/dwc3/dwc3-msm-core.c +++ b/drivers/usb/dwc3/dwc3-msm-core.c @@ -4884,6 +4884,10 @@ static ssize_t speed_store(struct device *dev, struct device_attribute *attr, struct dwc3_msm *mdwc = dev_get_drvdata(dev); enum usb_device_speed req_speed = USB_SPEED_UNKNOWN; + /* no speed change in host mode */ + if (!test_bit(ID, &mdwc->inputs)) + return -EPERM; + /* DEVSPD can only have values SS(0x4), HS(0x0) and FS(0x1). * per 3.20a data book. Allow only these settings. Note that, * xhci does not support full-speed only mode.