[v1] watchdog: intel-mid_wdt: Add WATCHDOG_NOWAYOUT support
diff mbox series

Message ID 20190924143116.69823-1-andriy.shevchenko@linux.intel.com
State Accepted
Headers show
Series
  • [v1] watchdog: intel-mid_wdt: Add WATCHDOG_NOWAYOUT support
Related show

Commit Message

Andy Shevchenko Sept. 24, 2019, 2:31 p.m. UTC
Normally, the watchdog is disabled when /dev/watchdog is closed, but if
CONFIG_WATCHDOG_NOWAYOUT is defined, then it means that the watchdog should
remain enabled. So we should keep it enabled if CONFIG_WATCHDOG_NOWAYOUT
is defined.

Reported-by: Razvan Becheriu <razvan.becheriu@qualitance.com>
Cc: Ferry Toth <fntoth@gmail.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/watchdog/intel-mid_wdt.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Guenter Roeck Sept. 30, 2019, 1:15 p.m. UTC | #1
On 9/24/19 7:31 AM, Andy Shevchenko wrote:
> Normally, the watchdog is disabled when /dev/watchdog is closed, but if
> CONFIG_WATCHDOG_NOWAYOUT is defined, then it means that the watchdog should
> remain enabled. So we should keep it enabled if CONFIG_WATCHDOG_NOWAYOUT
> is defined.
> 
> Reported-by: Razvan Becheriu <razvan.becheriu@qualitance.com>
> Cc: Ferry Toth <fntoth@gmail.com>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Reviewed-by: Guenter Roeck <linux@roeck-us.net>

> ---
>   drivers/watchdog/intel-mid_wdt.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/watchdog/intel-mid_wdt.c b/drivers/watchdog/intel-mid_wdt.c
> index 2cdbd37c700c..470213abfd3d 100644
> --- a/drivers/watchdog/intel-mid_wdt.c
> +++ b/drivers/watchdog/intel-mid_wdt.c
> @@ -134,6 +134,7 @@ static int mid_wdt_probe(struct platform_device *pdev)
>   	wdt_dev->timeout = MID_WDT_DEFAULT_TIMEOUT;
>   	wdt_dev->parent = dev;
>   
> +	watchdog_set_nowayout(wdt_dev, WATCHDOG_NOWAYOUT);
>   	watchdog_set_drvdata(wdt_dev, dev);
>   
>   	ret = devm_request_irq(dev, pdata->irq, mid_wdt_irq,
>
Andy Shevchenko Oct. 1, 2019, 8:32 p.m. UTC | #2
On Tue, Oct 01, 2019 at 10:08:53PM +0300, razvan becheriu wrote:
> PS: sry for sending this several times, I get a message like:
> Message may contain a virus
> Your message wasn't delivered to linux-watchdog@vger.kernel.org because it
> may contain a virus. Learn how to check for and prevent viruses.

You need to send the message as plain text. You may test yourself without
spamming people by sending to some other address which you have access to.

All there messages I got have HTML part. Usually it shows MUA misconfiguration.
razvan becheriu Oct. 2, 2019, 6:11 a.m. UTC | #3
Hi,

regarding the test for the WATCHDOG_NOWAYOUT patch:

```
Tested-by: Razvan Becheriu <razvan.becheriu@gmail.com>
The patch works.
By configuring the CONFIG_WATCHDOG_NOWAYOUT in the kernel and stopping
the watchdog.service, the board reboots.
Previously, the watchdog.service was able to disable the watchdog
counter, and no reboot was performed.
```

Thank you,
Razvan


On Tue, Oct 1, 2019 at 10:06 PM razvan becheriu
<razvan.becheriu@gmail.com> wrote:
>
> Hi,
>
> regarding the test for the WATCHDOG_NOWAYOUT patch:
>
> ...
> Tested-by: Razvan Becheriu <razvan.becheriu@gmail.com>
> The patch works.
> By configuring the CONFIG_WATCHDOG_NOWAYOUT in the kernel and stopping the watchdog.service, the board reboots.
> Previously, the watchdog.service was able to disable the watchdog counter, and no reboot was performed.
> ...
>
> Thank you,
> Razvan
>
> On Tue, Sep 24, 2019 at 6:13 PM Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
>>
>> Normally, the watchdog is disabled when /dev/watchdog is closed, but if
>> CONFIG_WATCHDOG_NOWAYOUT is defined, then it means that the watchdog should
>> remain enabled. So we should keep it enabled if CONFIG_WATCHDOG_NOWAYOUT
>> is defined.
>>
>> Reported-by: Razvan Becheriu <razvan.becheriu@qualitance.com>
>> Cc: Ferry Toth <fntoth@gmail.com>
>> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
>> ---
>>  drivers/watchdog/intel-mid_wdt.c | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/watchdog/intel-mid_wdt.c b/drivers/watchdog/intel-mid_wdt.c
>> index 2cdbd37c700c..470213abfd3d 100644
>> --- a/drivers/watchdog/intel-mid_wdt.c
>> +++ b/drivers/watchdog/intel-mid_wdt.c
>> @@ -134,6 +134,7 @@ static int mid_wdt_probe(struct platform_device *pdev)
>>         wdt_dev->timeout = MID_WDT_DEFAULT_TIMEOUT;
>>         wdt_dev->parent = dev;
>>
>> +       watchdog_set_nowayout(wdt_dev, WATCHDOG_NOWAYOUT);
>>         watchdog_set_drvdata(wdt_dev, dev);
>>
>>         ret = devm_request_irq(dev, pdata->irq, mid_wdt_irq,
>> --
>> 2.23.0
>>
Andy Shevchenko Oct. 2, 2019, 8:31 a.m. UTC | #4
On Wed, Oct 02, 2019 at 09:11:33AM +0300, razvan becheriu wrote:

> regarding the test for the WATCHDOG_NOWAYOUT patch:
> 
> ```
> Tested-by: Razvan Becheriu <razvan.becheriu@gmail.com>
> The patch works.
> By configuring the CONFIG_WATCHDOG_NOWAYOUT in the kernel and stopping
> the watchdog.service, the board reboots.
> Previously, the watchdog.service was able to disable the watchdog
> counter, and no reboot was performed.
> ```

Thank you!

Now you can find it in archives [1].

[1]: https://lore.kernel.org/linux-watchdog/CAJAoKi_C85WDxu_XppFhn7BjZC1GznqQrPFKW9W2wEpHzz4wPw@mail.gmail.com/T/#t

For the future, please avoid top postings.
Ferry Toth Oct. 29, 2019, 5:42 p.m. UTC | #5
Op 30-09-2019 om 15:15 schreef Guenter Roeck:
> On 9/24/19 7:31 AM, Andy Shevchenko wrote:
>> Normally, the watchdog is disabled when /dev/watchdog is closed, but if
>> CONFIG_WATCHDOG_NOWAYOUT is defined, then it means that the watchdog 
>> should
>> remain enabled. So we should keep it enabled if CONFIG_WATCHDOG_NOWAYOUT
>> is defined.
>>
>> Reported-by: Razvan Becheriu <razvan.becheriu@qualitance.com>
>> Cc: Ferry Toth <fntoth@gmail.com>
>> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> 
> Reviewed-by: Guenter Roeck <linux@roeck-us.net>

Any chance of this going in v5.4?

>> ---
>>   drivers/watchdog/intel-mid_wdt.c | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/watchdog/intel-mid_wdt.c 
>> b/drivers/watchdog/intel-mid_wdt.c
>> index 2cdbd37c700c..470213abfd3d 100644
>> --- a/drivers/watchdog/intel-mid_wdt.c
>> +++ b/drivers/watchdog/intel-mid_wdt.c
>> @@ -134,6 +134,7 @@ static int mid_wdt_probe(struct platform_device 
>> *pdev)
>>       wdt_dev->timeout = MID_WDT_DEFAULT_TIMEOUT;
>>       wdt_dev->parent = dev;
>> +    watchdog_set_nowayout(wdt_dev, WATCHDOG_NOWAYOUT);
>>       watchdog_set_drvdata(wdt_dev, dev);
>>       ret = devm_request_irq(dev, pdata->irq, mid_wdt_irq,
>>
>
Guenter Roeck Oct. 30, 2019, 12:13 a.m. UTC | #6
On 10/29/19 10:42 AM, Ferry Toth wrote:
> Op 30-09-2019 om 15:15 schreef Guenter Roeck:
>> On 9/24/19 7:31 AM, Andy Shevchenko wrote:
>>> Normally, the watchdog is disabled when /dev/watchdog is closed, but if
>>> CONFIG_WATCHDOG_NOWAYOUT is defined, then it means that the watchdog should
>>> remain enabled. So we should keep it enabled if CONFIG_WATCHDOG_NOWAYOUT
>>> is defined.
>>>
>>> Reported-by: Razvan Becheriu <razvan.becheriu@qualitance.com>
>>> Cc: Ferry Toth <fntoth@gmail.com>
>>> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
>>
>> Reviewed-by: Guenter Roeck <linux@roeck-us.net>
> 
> Any chance of this going in v5.4?
> 
Good question. There are a few other pending bug fixes, including one
which fixes a build failure. Wim, any chance you can queue those up ?

Thanks,
Guenter

>>> ---
>>>   drivers/watchdog/intel-mid_wdt.c | 1 +
>>>   1 file changed, 1 insertion(+)
>>>
>>> diff --git a/drivers/watchdog/intel-mid_wdt.c b/drivers/watchdog/intel-mid_wdt.c
>>> index 2cdbd37c700c..470213abfd3d 100644
>>> --- a/drivers/watchdog/intel-mid_wdt.c
>>> +++ b/drivers/watchdog/intel-mid_wdt.c
>>> @@ -134,6 +134,7 @@ static int mid_wdt_probe(struct platform_device *pdev)
>>>       wdt_dev->timeout = MID_WDT_DEFAULT_TIMEOUT;
>>>       wdt_dev->parent = dev;
>>> +    watchdog_set_nowayout(wdt_dev, WATCHDOG_NOWAYOUT);
>>>       watchdog_set_drvdata(wdt_dev, dev);
>>>       ret = devm_request_irq(dev, pdata->irq, mid_wdt_irq,
>>>
>>
> 
>

Patch
diff mbox series

diff --git a/drivers/watchdog/intel-mid_wdt.c b/drivers/watchdog/intel-mid_wdt.c
index 2cdbd37c700c..470213abfd3d 100644
--- a/drivers/watchdog/intel-mid_wdt.c
+++ b/drivers/watchdog/intel-mid_wdt.c
@@ -134,6 +134,7 @@  static int mid_wdt_probe(struct platform_device *pdev)
 	wdt_dev->timeout = MID_WDT_DEFAULT_TIMEOUT;
 	wdt_dev->parent = dev;
 
+	watchdog_set_nowayout(wdt_dev, WATCHDOG_NOWAYOUT);
 	watchdog_set_drvdata(wdt_dev, dev);
 
 	ret = devm_request_irq(dev, pdata->irq, mid_wdt_irq,