All of lore.kernel.org
 help / color / mirror / Atom feed
* usb: gadget: udc: core: Document the relation between usb_ep_queue() and completion callback
@ 2018-03-28  7:40 Felipe Balbi
  0 siblings, 0 replies; 2+ messages in thread
From: Felipe Balbi @ 2018-03-28  7:40 UTC (permalink / raw)
  To: Alan Stern; +Cc: Yavuz, Tuba, Greg Kroah-Hartman, USB list

Hi,

Alan Stern <stern@rowland.harvard.edu> writes:
> Improve the kerneldoc for usb_ep_queue() to note explicitly that the
> request's completion routine will be called if and only if the return
> value is 0.  The corresponding fact about usb_submit_urb() for the
> host-side API has long been documented, and this has always been the
> intention for the gadget API.  But until now, documentation seems to
> have been lacking.
>
> Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
>
> ---

Greg, I have this queued up for v4.18 already, but if you wanna take it
forward on v4.17 it's fine by me.

Acked-by: Felipe Balbi <felipe.balbi@linux.intel.com>

>  drivers/usb/gadget/udc/core.c |    6 ++++++
>  1 file changed, 6 insertions(+)
>
> Index: usb-4.x/drivers/usb/gadget/udc/core.c
> ===================================================================
> --- usb-4.x.orig/drivers/usb/gadget/udc/core.c
> +++ usb-4.x/drivers/usb/gadget/udc/core.c
> @@ -241,6 +241,12 @@ EXPORT_SYMBOL_GPL(usb_ep_free_request);
>   * Returns zero, or a negative error code.  Endpoints that are not enabled
>   * report errors; errors will also be
>   * reported when the usb peripheral is disconnected.
> + *
> + * If and only if @req is successfully queued (the return value is zero),
> + * @req->complete() will be called exactly once, when the Gadget core and
> + * UDC are finished with the request.  When the completion function is called,
> + * control of the request is returned to the device driver which submitted it.
> + * The completion handler may then immediately free or reuse @req.
>   */
>  int usb_ep_queue(struct usb_ep *ep,
>  			       struct usb_request *req, gfp_t gfp_flags)
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* usb: gadget: udc: core: Document the relation between usb_ep_queue() and completion callback
@ 2018-03-27 14:27 Alan Stern
  0 siblings, 0 replies; 2+ messages in thread
From: Alan Stern @ 2018-03-27 14:27 UTC (permalink / raw)
  To: Felipe Balbi; +Cc: Yavuz, Tuba, Greg Kroah-Hartman, USB list

Improve the kerneldoc for usb_ep_queue() to note explicitly that the
request's completion routine will be called if and only if the return
value is 0.  The corresponding fact about usb_submit_urb() for the
host-side API has long been documented, and this has always been the
intention for the gadget API.  But until now, documentation seems to
have been lacking.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
---


[as1861]


 drivers/usb/gadget/udc/core.c |    6 ++++++
 1 file changed, 6 insertions(+)


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Index: usb-4.x/drivers/usb/gadget/udc/core.c
===================================================================
--- usb-4.x.orig/drivers/usb/gadget/udc/core.c
+++ usb-4.x/drivers/usb/gadget/udc/core.c
@@ -241,6 +241,12 @@ EXPORT_SYMBOL_GPL(usb_ep_free_request);
  * Returns zero, or a negative error code.  Endpoints that are not enabled
  * report errors; errors will also be
  * reported when the usb peripheral is disconnected.
+ *
+ * If and only if @req is successfully queued (the return value is zero),
+ * @req->complete() will be called exactly once, when the Gadget core and
+ * UDC are finished with the request.  When the completion function is called,
+ * control of the request is returned to the device driver which submitted it.
+ * The completion handler may then immediately free or reuse @req.
  */
 int usb_ep_queue(struct usb_ep *ep,
 			       struct usb_request *req, gfp_t gfp_flags)

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

end of thread, other threads:[~2018-03-28  7:40 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-28  7:40 usb: gadget: udc: core: Document the relation between usb_ep_queue() and completion callback Felipe Balbi
  -- strict thread matches above, loose matches on Subject: below --
2018-03-27 14:27 Alan Stern

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.