Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp1667188ybi; Thu, 20 Jun 2019 01:33:52 -0700 (PDT) X-Google-Smtp-Source: APXvYqw5BSOgvrNbdephWxW9cZy1pcBM4yhMTQVCszWTXzPkPUGtrW3f/y/p+VpHjFC7VeVwpXc9 X-Received: by 2002:a62:3543:: with SMTP id c64mr46296211pfa.242.1561019632811; Thu, 20 Jun 2019 01:33:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1561019632; cv=none; d=google.com; s=arc-20160816; b=ey/xPERm8MfimLiqTx+8VB3HhjfC2tHw7JbSBbKhh2nHUOtoJi/7o66gNYwiK1fAfN qP9drZjIqLcOLfklMa9la8Tv4MRDFP9/RF0lB6eOy4WnB/J6oFdkTE7Q6W7UQAcM2vEK 86CY8uJcwHOP0JLp/NrGkcX0IVuAuEjFGbd8h/8oJKgLKE3t/5LJtHbyn/Y4AboqDGW6 +4kdxW0KTiK5ogtadUCbZye8jj0y4ubdY4vAYsmC36cFg4P8bdgl2tmFuSIh35HDI2fb oC4JnqeteURkzW9FpOZyjXG/Q7Z8uLZHYHy7ujv8SYUREJ0fjEqmXD2aAWj4oqV6kBn/ 9BrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=D7gKmPAkYY6SOASe3dr9Bpy7+yxxtKqgdjms7iVPSzc=; b=GkpAS46OQtGZa7GLuHDhleYgiLB9WfWA1b0auWcoryW3fTct/KgUh6Wun/tevSqsms Fw6nySZUNmLjlW680tuoELcnkN5nu27nfn0+uJrKqNODiGpRxXkdGmyktPPGAIgxsPDk uhSSiH9Tk2iPfm9s6zNAx0+GHLjSDHh6QVI2NBTBa6R9SwyRnOVV3X2drZtlvjpW/P1h Ga8g6uROzIxa8/4cGqv+Q1l5QoLXd3yhiA5vxLgtDbiqeEmyTTffSys8tUDcnUGjjtnb NUTuJO87u5pk2M81ykF+B1UmmykM0Oj/BZQ0PlwrsYwkI8NqrCtTOaGC3aZjZKZKaoLA o/ww== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f59si18092552plb.107.2019.06.20.01.33.37; Thu, 20 Jun 2019 01:33:52 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730710AbfFTIdR (ORCPT + 99 others); Thu, 20 Jun 2019 04:33:17 -0400 Received: from relay2-d.mail.gandi.net ([217.70.183.194]:48089 "EHLO relay2-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725875AbfFTIdQ (ORCPT ); Thu, 20 Jun 2019 04:33:16 -0400 X-Originating-IP: 92.137.69.152 Received: from localhost (alyon-656-1-672-152.w92-137.abo.wanadoo.fr [92.137.69.152]) (Authenticated sender: alexandre.belloni@bootlin.com) by relay2-d.mail.gandi.net (Postfix) with ESMTPSA id 05CC440011; Thu, 20 Jun 2019 08:33:10 +0000 (UTC) Date: Thu, 20 Jun 2019 10:33:09 +0200 From: Alexandre Belloni To: Ken Sloat Cc: "nicolas.ferre@microchip.com" , "ludovic.desroches@microchip.com" , "wim@linux-watchdog.org" , "linux@roeck-us.net" , "linux-arm-kernel@lists.infradead.org" , "linux-watchdog@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH v2 1/1] watchdog: atmel: atmel-sama5d4-wdt: Disable watchdog on system suspend Message-ID: <20190620083309.GU23549@piout.net> References: <20190614125310.29458-1-ksloat@aampglobal.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190614125310.29458-1-ksloat@aampglobal.com> User-Agent: Mutt/1.11.4 (2019-03-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 14/06/2019 12:53:22+0000, Ken Sloat wrote: > From: Ken Sloat > > Currently, the atmel-sama5d4-wdt continues to run after system suspend. > Unless the system resumes within the watchdog timeout period so the > userspace can kick it, the system will be reset. This change disables > the watchdog on suspend if it is active and re-enables on resume. These > actions occur during the late and early phases of suspend and resume > respectively to minimize chances where a lock could occur while the > watchdog is disabled. > > Signed-off-by: Ken Sloat Acked-by: Alexandre Belloni > --- > Changes in v2: > -Consolidate resume and resume early statements. > > drivers/watchdog/sama5d4_wdt.c | 21 ++++++++++++++++++--- > 1 file changed, 18 insertions(+), 3 deletions(-) > > diff --git a/drivers/watchdog/sama5d4_wdt.c b/drivers/watchdog/sama5d4_wdt.c > index 111695223aae..0d123f8cbcc6 100644 > --- a/drivers/watchdog/sama5d4_wdt.c > +++ b/drivers/watchdog/sama5d4_wdt.c > @@ -280,7 +280,17 @@ static const struct of_device_id sama5d4_wdt_of_match[] = { > MODULE_DEVICE_TABLE(of, sama5d4_wdt_of_match); > > #ifdef CONFIG_PM_SLEEP > -static int sama5d4_wdt_resume(struct device *dev) > +static int sama5d4_wdt_suspend_late(struct device *dev) > +{ > + struct sama5d4_wdt *wdt = dev_get_drvdata(dev); > + > + if (watchdog_active(&wdt->wdd)) > + sama5d4_wdt_stop(&wdt->wdd); > + > + return 0; > +} > + > +static int sama5d4_wdt_resume_early(struct device *dev) > { > struct sama5d4_wdt *wdt = dev_get_drvdata(dev); > > @@ -291,12 +301,17 @@ static int sama5d4_wdt_resume(struct device *dev) > */ > sama5d4_wdt_init(wdt); > > + if (watchdog_active(&wdt->wdd)) > + sama5d4_wdt_start(&wdt->wdd); > + > return 0; > } > #endif > > -static SIMPLE_DEV_PM_OPS(sama5d4_wdt_pm_ops, NULL, > - sama5d4_wdt_resume); > +static const struct dev_pm_ops sama5d4_wdt_pm_ops = { > + SET_LATE_SYSTEM_SLEEP_PM_OPS(sama5d4_wdt_suspend_late, > + sama5d4_wdt_resume_early) > +}; > > static struct platform_driver sama5d4_wdt_driver = { > .probe = sama5d4_wdt_probe, > -- > 2.17.1 > -- Alexandre Belloni, Bootlin Embedded Linux and Kernel engineering https://bootlin.com