On 18/04/2021 16:41, Guangqing Zhu wrote:
> 
> 
> On 16/04/2021 16:43, Krzysztof Kozlowski wrote:
>> On 15/04/2021 13:36, [email protected] wrote:
>>> From: Guangqing Zhu <[email protected]>
>>>
>>> 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 <[email protected]>
>>> ---
>>>   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().

No, the primary handler is nested, not default one. Otherwise it would
have absolutely never worked. Therefore you are not fixing anything,
except Coccinelle report.


Best regards,
Krzysztof

Reply via email to