Re: [PATCH] watchdog: s3c2410: Fix potential deadlock on &wdt->lock

From: Krzysztof Kozlowski
Date: Wed Jul 05 2023 - 04:55:12 EST


On 04/07/2023 18:10, Chengfeng Ye wrote:
> Hi, Krzysztof
>
> Thanks for the reply.
>
>> This interrupt is a threaded interrupt. Therefore the
>> s3c2410wdt_keepalive() will be called again from process thread. Are you
>> sure there is deadlock?
>
> Is it really that s3c2410wdt_irq is a threaded interrupt? I could be wrong
> but I can
> see that the interrupt is registered via the following code. It is the
> third argument
> of devm_request_irq but not devm_request_threaded_irq or
> request_threaded_irq,
> as far as I know, it should be an interrupt handler for the interrupt line
> wdt_irq
> executed under irq context.
>
> ret = devm_request_irq(dev, wdt_irq, s3c2410wdt_irq, 0, pdev->name, pdev);

Yes, you are right.

Best regards,
Krzysztof