Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1376563

[PATCH 3/3] usb: dwc3: gadget: Fix suspend/resume during device mode

From Roger Quadros <rogerq@ti.com>
Newsgroups linux.kernel
Subject [PATCH 3/3] usb: dwc3: gadget: Fix suspend/resume during device mode
Date 2016-04-12 10:40 +0200
Message-ID <rn21A-45R-17@gated-at.bofh.it> (permalink)
References <rmKR3-7gk-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Gadget controller might not be always active during system
suspend/resume as gadget driver might not have yet been loaded or
might have been unloaded prior to system suspend.

Check if we're active and only then perform
necessary actions during suspend/resume.

Signed-off-by: Roger Quadros <rogerq@ti.com>
---
 drivers/usb/dwc3/gadget.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index 3ac170f..efbb801 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -2931,6 +2931,9 @@ void dwc3_gadget_exit(struct dwc3 *dwc)
 
 int dwc3_gadget_suspend(struct dwc3 *dwc)
 {
+	if (!dwc->gadget_driver)
+		return 0;
+
 	if (dwc->pullups_connected) {
 		dwc3_gadget_disable_irq(dwc);
 		dwc3_gadget_run_stop(dwc, true, true);
@@ -2949,6 +2952,9 @@ int dwc3_gadget_resume(struct dwc3 *dwc)
 	struct dwc3_ep		*dep;
 	int			ret;
 
+	if (!dwc->gadget_driver)
+		return 0;
+
 	/* Start with SuperSpeed Default */
 	dwc3_gadget_ep0_desc.wMaxPacketSize = cpu_to_le16(512);
 
-- 
2.5.0

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

[PATCH 0/2] usb: dwc3: fixes for v4.6-rc Roger Quadros <rogerq@ti.com> - 2016-04-11 16:20 +0200
  [PATCH 3/3] usb: dwc3: gadget: Fix suspend/resume during device mode Roger Quadros <rogerq@ti.com> - 2016-04-12 10:40 +0200

csiph-web