Re: [PATCH 1/2] nfit: Use init_completion() in acpi_nfit_flush_probe()

From: Boqun Feng
Date: Thu Aug 24 2017 - 09:28:56 EST


On Thu, Aug 24, 2017 at 03:07:42PM +0200, Thomas Gleixner wrote:
> On Wed, 23 Aug 2017, Boqun Feng wrote:
>
> > There is no need to use COMPLETION_INITIALIZER_ONSTACK() in
> > acpi_nfit_flush_probe(), replace it with init_completion().
>
> You completely fail to explain WHY.
>

I thought COMPLETION_INITIALIZER_ONSTACK() should only use in assigment
or compound literals, so the usage here is obviously wrong, but seems
I was wrong?

Ingo,

Is the usage of COMPLETION_INITIALIZER_ONSTACK() correct? If not,
I could rephrase my commit log saying this is a fix for wrong usage of
COMPLETION_INITIALIZER_ONSTACK(), otherwise, I will rewrite the commit
indicating this patch is a necessary dependency for patch #2. Thanks!

Regards,
Boqun

> Thanks,
>
> tglx
>
>
> > Signed-off-by: Boqun Feng <boqun.feng@xxxxxxxxx>
> > ---
> > drivers/acpi/nfit/core.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/acpi/nfit/core.c b/drivers/acpi/nfit/core.c
> > index 19182d091587..1893e416e7c0 100644
> > --- a/drivers/acpi/nfit/core.c
> > +++ b/drivers/acpi/nfit/core.c
> > @@ -2884,7 +2884,7 @@ static int acpi_nfit_flush_probe(struct nvdimm_bus_descriptor *nd_desc)
> > * need to be interruptible while waiting.
> > */
> > INIT_WORK_ONSTACK(&flush.work, flush_probe);
> > - COMPLETION_INITIALIZER_ONSTACK(flush.cmp);
> > + init_completion(&flush.cmp);
> > queue_work(nfit_wq, &flush.work);
> > mutex_unlock(&acpi_desc->init_mutex);
> >
> > --
> > 2.14.1
> >
> >

Attachment: signature.asc
Description: PGP signature