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

Krzysztof Kozlowski krzysztof.kozlowski at linaro.org
Wed Jul 5 01:55:03 PDT 2023


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




More information about the linux-arm-kernel mailing list