Re: [PATCH v2 2/2] clocksource/drivers/timer-tegra186: fix watchdog self-pinging.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri Feb 16, 2024 at 10:02 PM CET, Pohsun Su wrote:
> This change removes watchdog self-pinging behavior.
>
> The timer irq handler is triggered due to the 1st expiration,
> the handler disables and enables watchdog but also implicitly
> clears the expiration count so the count can only be 0 or 1.
>
> Since this watchdog supports opened, configured, or pinged by
> systemd, We remove this behavior or the watchdog may not bark
> when systemd crashes since the 5th expiration never comes.
>
> Signed-off-by: Pohsun Su <pohsuns@xxxxxxxxxx>
> ---
>  drivers/clocksource/timer-tegra186.c | 27 ++-------------------------
>  1 file changed, 2 insertions(+), 25 deletions(-)
>
> diff --git a/drivers/clocksource/timer-tegra186.c b/drivers/clocksource/timer-tegra186.c
> index 8f516366da86..acff97da138a 100644
> --- a/drivers/clocksource/timer-tegra186.c
> +++ b/drivers/clocksource/timer-tegra186.c
> @@ -175,7 +175,8 @@ static void tegra186_wdt_enable(struct tegra186_wdt *wdt)
>  		value |= WDTCR_PERIOD(1);
>  
>  		/* enable local interrupt for WDT petting */
> -		value |= WDTCR_LOCAL_INT_ENABLE;
> +		if (0)
> +			value |= WDTCR_LOCAL_INT_ENABLE;

We probably shouldn't proliferate this scheme. In retrospect I should've
removed the two other similar blocks back when I submitted the driver at
the time since they don't really serve a purpose. The intention at the
time was to keep them there and eventually replace the condition with
something that could actually be toggled, but it's been almost four
years and this hasn't happened, so I suspect that we just don't need it
at all. So perhaps you could remove this line along with the comment in
this patch and then add another patch that removes the other unused bits
so that we don't carry around stuff that we just never use.

Thierry

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux