summaryrefslogtreecommitdiffstats
path: root/drivers/usb/dwc3
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/dwc3')
-rw-r--r--drivers/usb/dwc3/Kconfig1
-rw-r--r--drivers/usb/dwc3/core.c3
-rw-r--r--drivers/usb/dwc3/dwc3-pci.c2
-rw-r--r--drivers/usb/dwc3/gadget.c6
4 files changed, 9 insertions, 3 deletions
diff --git a/drivers/usb/dwc3/Kconfig b/drivers/usb/dwc3/Kconfig
index 89abc6078703..556a876c7896 100644
--- a/drivers/usb/dwc3/Kconfig
+++ b/drivers/usb/dwc3/Kconfig
@@ -102,6 +102,7 @@ config USB_DWC3_MESON_G12A
102 depends on ARCH_MESON || COMPILE_TEST 102 depends on ARCH_MESON || COMPILE_TEST
103 default USB_DWC3 103 default USB_DWC3
104 select USB_ROLE_SWITCH 104 select USB_ROLE_SWITCH
105 select REGMAP_MMIO
105 help 106 help
106 Support USB2/3 functionality in Amlogic G12A platforms. 107 Support USB2/3 functionality in Amlogic G12A platforms.
107 Say 'Y' or 'M' if you have one such device. 108 Say 'Y' or 'M' if you have one such device.
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
index 999ce5e84d3c..97d6ae3c4df2 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -312,8 +312,7 @@ static void dwc3_frame_length_adjustment(struct dwc3 *dwc)
312 312
313 reg = dwc3_readl(dwc->regs, DWC3_GFLADJ); 313 reg = dwc3_readl(dwc->regs, DWC3_GFLADJ);
314 dft = reg & DWC3_GFLADJ_30MHZ_MASK; 314 dft = reg & DWC3_GFLADJ_30MHZ_MASK;
315 if (!dev_WARN_ONCE(dwc->dev, dft == dwc->fladj, 315 if (dft != dwc->fladj) {
316 "request value same as default, ignoring\n")) {
317 reg &= ~DWC3_GFLADJ_30MHZ_MASK; 316 reg &= ~DWC3_GFLADJ_30MHZ_MASK;
318 reg |= DWC3_GFLADJ_30MHZ_SDBND_SEL | dwc->fladj; 317 reg |= DWC3_GFLADJ_30MHZ_SDBND_SEL | dwc->fladj;
319 dwc3_writel(dwc->regs, DWC3_GFLADJ, reg); 318 dwc3_writel(dwc->regs, DWC3_GFLADJ, reg);
diff --git a/drivers/usb/dwc3/dwc3-pci.c b/drivers/usb/dwc3/dwc3-pci.c
index 5e8e18222f92..023f0357efd7 100644
--- a/drivers/usb/dwc3/dwc3-pci.c
+++ b/drivers/usb/dwc3/dwc3-pci.c
@@ -258,7 +258,7 @@ static int dwc3_pci_probe(struct pci_dev *pci, const struct pci_device_id *id)
258 258
259 ret = platform_device_add_properties(dwc->dwc3, p); 259 ret = platform_device_add_properties(dwc->dwc3, p);
260 if (ret < 0) 260 if (ret < 0)
261 return ret; 261 goto err;
262 262
263 ret = dwc3_pci_quirks(dwc); 263 ret = dwc3_pci_quirks(dwc);
264 if (ret) 264 if (ret)
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index 86dc1db788a9..a9aba716bf80 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -707,6 +707,12 @@ static void dwc3_remove_requests(struct dwc3 *dwc, struct dwc3_ep *dep)
707 707
708 dwc3_gadget_giveback(dep, req, -ESHUTDOWN); 708 dwc3_gadget_giveback(dep, req, -ESHUTDOWN);
709 } 709 }
710
711 while (!list_empty(&dep->cancelled_list)) {
712 req = next_request(&dep->cancelled_list);
713
714 dwc3_gadget_giveback(dep, req, -ESHUTDOWN);
715 }
710} 716}
711 717
712/** 718/**