All of lore.kernel.org
 help / color / mirror / Atom feed
* [RESEND PATCH v3 1/2] usb: dwc3: gadget: Add disconnect checking when changing function dynamically
@ 2016-10-04  8:42 Baolin Wang
  2016-10-04  8:42 ` [RESEND PATCH v3 2/2] usb: dwc3: Wait for control tranfer completed when stopping gadget Baolin Wang
  2016-10-13  7:06 ` [RESEND PATCH v3 1/2] usb: dwc3: gadget: Add disconnect checking when changing function dynamically Felipe Balbi
  0 siblings, 2 replies; 20+ messages in thread
From: Baolin Wang @ 2016-10-04  8:42 UTC (permalink / raw)
  To: balbi; +Cc: gregkh, broonie, linux-usb, linux-kernel, baolin.wang

When system has stpped the gadget, we should avoid queuing any requests
which will cause tranfer failed. Thus adding some disconnect checking to
avoid this situation.

Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
---
Changes since v2:
 - Move disconnect checking into dwc3_send_gadget_ep_cmd().
 - Rename completion name and issue complete() at one place.
 - Move completion initialization into dwc3_gadget_init().

Changes since v1:
 - Split into 2 separate ptaches.
 - Choose complete mechanism instead of polling.
---
 drivers/usb/dwc3/gadget.c |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index 1783406..ca2ae5b 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -241,6 +241,9 @@ int dwc3_send_gadget_ep_cmd(struct dwc3_ep *dep, unsigned cmd,
 	int			susphy = false;
 	int			ret = -EINVAL;
 
+	if (!dwc->pullups_connected)
+		return -ESHUTDOWN;
+
 	/*
 	 * Synopsys Databook 2.60a states, on section 6.3.2.5.[1-8], that if
 	 * we're issuing an endpoint command, we must check if
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2016-10-13 12:29 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-04  8:42 [RESEND PATCH v3 1/2] usb: dwc3: gadget: Add disconnect checking when changing function dynamically Baolin Wang
2016-10-04  8:42 ` [RESEND PATCH v3 2/2] usb: dwc3: Wait for control tranfer completed when stopping gadget Baolin Wang
2016-10-13  7:08   ` Felipe Balbi
2016-10-13  7:51     ` Baolin Wang
2016-10-13  7:54       ` Felipe Balbi
2016-10-13  8:01         ` Baolin Wang
2016-10-13  7:06 ` [RESEND PATCH v3 1/2] usb: dwc3: gadget: Add disconnect checking when changing function dynamically Felipe Balbi
2016-10-13  7:37   ` Baolin Wang
2016-10-13  8:16     ` Janusz Dziedzic
2016-10-13  8:21       ` Baolin Wang
2016-10-13  8:28         ` Janusz Dziedzic
2016-10-13  8:39           ` Baolin Wang
2016-10-13  9:49             ` Felipe Balbi
2016-10-13 10:41               ` Baolin Wang
2016-10-13 11:16                 ` Janusz Dziedzic
2016-10-13 11:22                   ` Felipe Balbi
2016-10-13 11:30                     ` Baolin Wang
2016-10-13 11:46                     ` Baolin Wang
2016-10-13 12:17                       ` Felipe Balbi
2016-10-13 12:23                         ` Baolin Wang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.