[PATCH 4/4] mtd: rawnand: meson: only initialize the RB completion once

Liang Yang liang.yang at amlogic.com
Thu Apr 18 20:52:52 PDT 2019


Hi Martin,

On 2019/4/19 3:44, Martin Blumenstingl wrote:
> Hi Liang,
> 
> On Mon, Apr 15, 2019 at 8:04 AM Liang Yang <liang.yang at amlogic.com> wrote:
>>
>>
>> On 2019/4/12 6:00, Martin Blumenstingl wrote:
>>> Documentation/scheduler/completion.txt states:
>>>     Calling init_completion() on the same completion object twice is
>>>     most likely a bug as it re-initializes the queue to an empty queue and
>>>     enqueued tasks could get "lost" - use reinit_completion() in that case,
>>>     but be aware of other races.
>>>
>>> Initialize nfc->completion in meson_nfc_probe using init_completion and
>>> change the call in meson_nfc_queue_rb to reinit_completion so the logic
>>> matches what the documentation suggests.
>>>
>>> Signed-off-by: Martin Blumenstingl <martin.blumenstingl at googlemail.com>
>>> ---
>>>    drivers/mtd/nand/raw/meson_nand.c | 3 ++-
>>>    1 file changed, 2 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/mtd/nand/raw/meson_nand.c b/drivers/mtd/nand/raw/meson_nand.c
>>> index 57cc4bd3f665..ea57ddcec41e 100644
>>> --- a/drivers/mtd/nand/raw/meson_nand.c
>>> +++ b/drivers/mtd/nand/raw/meson_nand.c
>>> @@ -400,7 +400,7 @@ static int meson_nfc_queue_rb(struct meson_nfc *nfc, int timeout_ms)
>>>        cfg |= NFC_RB_IRQ_EN;
>>>        writel(cfg, nfc->reg_base + NFC_REG_CFG);
>>>
>>> -     init_completion(&nfc->completion);
>>> +     reinit_completion(&nfc->completion);
>> Tested-by:Liang Yang <liang.yang at amlogic.com>
>> Acked-by: Liang Yang <liang.yang at amlogic.com>
> thank you for reviewing and testing my patches!
> 
> [...]
>> Tested-by:Liang Yang <liang.yang at amlogic.com>
>> Acked-by: Liang Yang <liang.yang at amlogic.com>
> please consider the following note for future code-reviews:
> most maintainers take the patch from patchwork and apply it to their git tree.
> however, patchwork is not smart enough to detect when the same
> Tested-by/Acked-by is sent multiple times.
> this results in the same Tested-by/Acked-by being listed multiple
> times in the final commit: [0]
> 
> what I do instead is to reply with one set of Tested-by/Acked-by
> (below the author's Signed-off-by) which is then valid for the whole
> patch.
> There's no problem to have Tested-by and Acked-by at the same time,
> the issue only shows up if you send Acked-by (or any other tag) for
> the same patch multiple times.
> 
Thanks. Well, I known about it now.

> 
> Have a great day!
> Regards,
> Martin
> 
> 
> [0] https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git/commit/?h=nand/next&id=39e01956e2f70ff9f0e97db1a69c9847aa1d5d8b
> 
> .
> 



More information about the linux-mtd mailing list