Re: [PATCH v2 1/2] usb: gadget: udc: core: Revise comments for usb_ep_disable()

From: Alan Stern
Date: Wed Oct 27 2021 - 10:24:33 EST


On Tue, Oct 26, 2021 at 07:50:24PM -0700, Wesley Cheng wrote:
> The usb_ep_disable() routine is being widely used directly in the
> disconnect callback path by function drivers. Hence, the statement
> about it being able to only run in process context may not be true.
>
> Signed-off-by: Wesley Cheng <quic_wcheng@xxxxxxxxxxx>
> ---
> drivers/usb/gadget/udc/core.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/drivers/usb/gadget/udc/core.c b/drivers/usb/gadget/udc/core.c
> index d626511..e1f90d8 100644
> --- a/drivers/usb/gadget/udc/core.c
> +++ b/drivers/usb/gadget/udc/core.c
> @@ -136,8 +136,6 @@ EXPORT_SYMBOL_GPL(usb_ep_enable);
> * gadget drivers must call usb_ep_enable() again before queueing
> * requests to the endpoint.
> *
> - * This routine must be called in process context.
> - *
> * returns zero, or a negative error code.
> */
> int usb_ep_disable(struct usb_ep *ep)

You should also change the kerneldoc for usb_ep_enable. Neither routine
needs to be called in process context.

In fact, it might be good to change both comments to:

* This routine may be called in an atomic (interrupt) context.

just to be totally explicit.

Alan Stern