Messages in this thread | | | Subject | Re: [PATCH] extcon: maxim: Fix missing IRQF_ONESHOT as only threaded handler | From | Guangqing Zhu <> | Date | Sun, 18 Apr 2021 22:41:52 +0800 |
| |
On 16/04/2021 16:43, Krzysztof Kozlowski wrote: > On 15/04/2021 13:36, zhuguangqing83@gmail.com wrote: >> From: Guangqing Zhu <zhuguangqing83@gmail.com> >> >> Coccinelle noticed: >> 1. drivers/extcon/extcon-max14577.c:699:8-33: ERROR: Threaded IRQ with >> no primary handler requested without IRQF_ONESHOT >> 2. drivers/extcon/extcon-max77693.c:1143:8-33: ERROR: Threaded IRQ with >> no primary handler requested without IRQF_ONESHOT >> 3. drivers/extcon/extcon-max77843.c:907:8-33: ERROR: Threaded IRQ with >> no primary handler requested without IRQF_ONESHOT >> 4. drivers/extcon/extcon-max8997.c:665:8-28: ERROR: Threaded IRQ with >> no primary handler requested without IRQF_ONESHOT >> >> Signed-off-by: Guangqing Zhu <zhuguangqing83@gmail.com> >> --- >> drivers/extcon/extcon-max14577.c | 2 +- >> drivers/extcon/extcon-max77693.c | 2 +- >> drivers/extcon/extcon-max77843.c | 3 ++- >> drivers/extcon/extcon-max8997.c | 2 +- >> 4 files changed, 5 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/extcon/extcon-max14577.c b/drivers/extcon/extcon-max14577.c >> index ace523924e58..af15a9e00ee9 100644 >> --- a/drivers/extcon/extcon-max14577.c >> +++ b/drivers/extcon/extcon-max14577.c >> @@ -698,7 +698,7 @@ static int max14577_muic_probe(struct platform_device *pdev) >> >> ret = devm_request_threaded_irq(&pdev->dev, virq, NULL, >> max14577_muic_irq_handler, >> - IRQF_NO_SUSPEND, >> + IRQF_NO_SUSPEND | IRQF_ONESHOT, > > The same with all other patches for IRQF_ONESHOT which are send recently: > 1. On what board did you test it?
I didn't test it.
> 2. Is this just blind patch from Coccinelle without investigation > whether it is needed (hint: it's not needed here, it does not use > default primary handler).
I found the error notice from Coccinelle and I saw the code. Maybe I'm mistaken, I think it's needed here. Because handler == NULL and thread_fn != NULL, it use irq_default_primary_handler() in request_threaded_irq().
> 3. If you think otherwise, please explain. > > Best regards, > Krzysztof >
Thanks for your review.
Best regards, Guangqing Zhu
| |