linux-watchdog.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Tomas Winkler <tomas.winkler@intel.com>
Cc: Wim Van Sebroeck <wim@iguana.be>,
	linux-watchdog@vger.kernel.org, linux-kernel@vger.kernel.org,
	Alexander Usyskin <alexander.usyskin@intel.com>,
	stable@vger.kernel.org
Subject: Re: [watchdog] watchdog: mei_wdt: request stop on unregister
Date: Thu, 7 Jan 2021 16:12:15 -0800	[thread overview]
Message-ID: <20210108001215.GA58926@roeck-us.net> (raw)
In-Reply-To: <20210107195730.1660449-1-tomas.winkler@intel.com>

Hi,

On Thu, Jan 07, 2021 at 09:57:30PM +0200, Tomas Winkler wrote:
> From: Alexander Usyskin <alexander.usyskin@intel.com>
> 
> Send the stop command to the firmware on watchdog unregister
> to eleminate false event on suspend.
> 

Normally the watchdog driver would not be expected to unregister
during suspend, only when the driver is manually unloaded.
To support suspend/resume, other watchdog drivers implement
suspend/resume functions to stop the watchdog on suspend and
to restart it on resume. Unloading a watchdog driver on suspend
would also have odd implications for userspace watchdog daemons.

On top of that, it should not actually be possible to unregister
a watchdog while it is in use (because it is open in that case
and should be marked as busy). watchdog_stop_on_unregister()
only serves as backup in case someone actually manages to unload
the driver while the watchdog is running. The function was
implemented to avoid calls to stop the watchdog in the remove
function because I can not mathematically prove that there are
no situations where the watchdog is unloaded while running.
However, I have not actually been able to do that.

Are you sure this patch is doing what you expect it to do ?

Thanks,
Guenter

> Cc: <stable@vger.kernel.org>
> Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com>
> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
> ---
>  drivers/watchdog/mei_wdt.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/watchdog/mei_wdt.c b/drivers/watchdog/mei_wdt.c
> index 5391bf3e6b11..c5967d8b4256 100644
> --- a/drivers/watchdog/mei_wdt.c
> +++ b/drivers/watchdog/mei_wdt.c
> @@ -382,6 +382,7 @@ static int mei_wdt_register(struct mei_wdt *wdt)
>  
>  	watchdog_set_drvdata(&wdt->wdd, wdt);
>  	watchdog_stop_on_reboot(&wdt->wdd);
> +	watchdog_stop_on_unregister(&wdt->wdd);
>  
>  	ret = watchdog_register_device(&wdt->wdd);
>  	if (ret)
> -- 
> 2.26.2
> 

  reply	other threads:[~2021-01-08  0:12 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-07 19:57 [watchdog] watchdog: mei_wdt: request stop on unregister Tomas Winkler
2021-01-08  0:12 ` Guenter Roeck [this message]
2021-01-23 18:47   ` Guenter Roeck
2021-01-23 21:39     ` Winkler, Tomas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210108001215.GA58926@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=alexander.usyskin@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-watchdog@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=tomas.winkler@intel.com \
    --cc=wim@iguana.be \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).