[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160407131927.GA28746@roeck-us.net>
Date: Thu, 7 Apr 2016 06:19:27 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: Richard Cochran <rcochran@...utronix.de>
Cc: linux-kernel@...r.kernel.org, rt@...utronix.de,
Wim Van Sebroeck <wim@...ana.be>,
linux-watchdog@...r.kernel.org
Subject: Re: [2/5] watchdog: octeon: Handle the FROZEN hot plug notifier
actions.
On Fri, Mar 18, 2016 at 10:26:08PM +0100, Richard Cochran wrote:
> When performing a suspend operation, the kernel brings all of the
> non-boot CPUs offline, calling the hot plug notifiers with the flag,
> CPU_TASKS_FROZEN, set in the action code. Similarly, during resume,
> the CPUs are brought back online, but again the notifiers have the
> FROZEN flag set.
>
> While some very few drivers really need to treat suspend/resume
> specially, this driver unintentionally ignores the notifications.
>
> This patch changes the driver to disable the watchdog interrupt
> whenever the CPU goes offline, and to enable it whenever the CPU goes
> back online. As a result, the suspended state is no longer a special
> case that leaves the watchdog active.
>
> Cc: Wim Van Sebroeck <wim@...ana.be>
> Cc: Guenter Roeck <linux@...ck-us.net>
> Cc: linux-watchdog@...r.kernel.org
> Signed-off-by: Richard Cochran <rcochran@...utronix.de>
Reviewed-by: Guenter Roeck <linux@...ck-us.net>
> ---
> drivers/watchdog/octeon-wdt-main.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/watchdog/octeon-wdt-main.c b/drivers/watchdog/octeon-wdt-main.c
> index 14521c8..b55981f 100644
> --- a/drivers/watchdog/octeon-wdt-main.c
> +++ b/drivers/watchdog/octeon-wdt-main.c
> @@ -431,7 +431,7 @@ static int octeon_wdt_cpu_callback(struct notifier_block *nfb,
> {
> unsigned int cpu = (unsigned long)hcpu;
>
> - switch (action) {
> + switch (action & ~CPU_TASKS_FROZEN) {
> case CPU_DOWN_PREPARE:
> octeon_wdt_disable_interrupt(cpu);
> break;
Powered by blists - more mailing lists