Re: [PATCH] usb: gadget: f_fs: use complete() instead complete_all()

From: Michal Nazarewicz
Date: Thu Sep 22 2016 - 10:23:06 EST


On Thu, Sep 22 2016, Daniel Wagner wrote:
> From: Daniel Wagner <daniel.wagner@xxxxxxxxxxxx>
>
> There is only one waiter for the completion, therefore there
> is no need to use complete_all(). Let's make that clear by
> using complete() instead of complete_all().
>
> The usage pattern of the completion is:
>
> waiter context waker context
> reinit_completion()
> usb_esp_queue()
> wait_for_completion_interruptible()
>
> ffs_ep0_complete()
> complete()
>
> Signed-off-by: Daniel Wagner <daniel.wagner@xxxxxxxxxxxx>
> Cc: Felipe Balbi <balbi@xxxxxxxxxx>
> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx>

Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx>

> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> Cc: linux-usb@xxxxxxxxxxxxxxx
> ---
> drivers/usb/gadget/function/f_fs.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c
> index 5c8429f..0c29039 100644
> --- a/drivers/usb/gadget/function/f_fs.c
> +++ b/drivers/usb/gadget/function/f_fs.c
> @@ -211,7 +211,7 @@ static void ffs_ep0_complete(struct usb_ep *ep, struct usb_request *req)
> {
> struct ffs_data *ffs = req->context;
>
> - complete_all(&ffs->ep0req_completion);
> + complete(&ffs->ep0req_completion);
> }
>
> static int __ffs_ep0_queue_wait(struct ffs_data *ffs, char *data, size_t len)
> --
> 2.7.4

--
Best regards
ããã âðððð86â ãããããã
ÂIf at first you donât succeed, give up skydivingÂ