From patchwork Fri Jun 18 19:50:33 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Grzegorz Jaszczyk X-Patchwork-Id: 463094 Delivered-To: patch@linaro.org Received: by 2002:a05:6638:102:0:0:0:0 with SMTP id x2csp183643jao; Fri, 18 Jun 2021 12:51:16 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwfFkye2AYCsm3W836Ar1tOjCqjRB0KR2tntBRXo4+6rb0MNVeUFXzEE2aKs5Wpfl8KpLye X-Received: by 2002:a05:6602:1616:: with SMTP id x22mr9338513iow.173.1624045876601; Fri, 18 Jun 2021 12:51:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1624045876; cv=none; d=google.com; s=arc-20160816; b=XGeLFQbeuQVv4Zq0UVxgoF7o5S1YbM2bf4h5KbfaHtg61ZSrcsMZJmEAORdNIqPy30 +vQkpk0t5C7RLAAw6ClTHheSkPbfLTK33VxgV1HVXhI97rpjdnzfDfMu5V9/AegFJDwG Yr1GSLQXmdx3KOKGIko4ejll2NmYHv/b/LYQMlmzT1AkM//OgLRPLPCqU/M8fWI9zi3J 9pwN4i09G37Aj4ultfEN9iTQIN1yPO79Nqn+AdHYc7Y3YaxSxExIgsENceng5wDQmdZS CNBU9gxoHC9ZhtgtJJpNpawcHW94VqVoDmCU/dAZAI4DHbPtyu4VzpSNBmk44PN9mJYK /EUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=xMVSNrHGcdt1vbOgCt0p2SZ9LSnvDYsg9SnZkED+C08=; b=mjy1w3GIvvIgCwZttSV5tEVPaUvFwlWmUS7jhKZGUQG9kxwldSZkCD5MIRgYuUihnz 6q/xmnHD300MxfSkUJLKxBL7U2NQ9kIb8w9w6+9IaX27UhL29OdlBg46QYgym1rRKljd xBUxLQb7b9tgaHxGDDgRJnaOxCfRxmGGvR2Ghwpj2rsaCkgJGXLoLSzaGiU7svFtqfC/ hoqPOA2uK3FNQ+j77kfIjCeuroQ2ud4wLBzvBkU0s7K/BamHM3V9OnFki7BjTOagsyJO GYvV61xpB9UClAd2tRcF1g2iAZ3692VFIKgNbEy7IK05nJ8d/++BqabSEQxrEnxoaUb9 wkZQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=OI+p8vNS; spf=pass (google.com: domain of linux-watchdog-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-watchdog-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y3si11976117jad.12.2021.06.18.12.51.16 for ; Fri, 18 Jun 2021 12:51:16 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-watchdog-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=OI+p8vNS; spf=pass (google.com: domain of linux-watchdog-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-watchdog-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233494AbhFRTxU (ORCPT ); Fri, 18 Jun 2021 15:53:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33618 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233003AbhFRTxT (ORCPT ); Fri, 18 Jun 2021 15:53:19 -0400 Received: from mail-lf1-x12d.google.com (mail-lf1-x12d.google.com [IPv6:2a00:1450:4864:20::12d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 99556C061574 for ; Fri, 18 Jun 2021 12:51:08 -0700 (PDT) Received: by mail-lf1-x12d.google.com with SMTP id q20so18495777lfo.2 for ; Fri, 18 Jun 2021 12:51:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=xMVSNrHGcdt1vbOgCt0p2SZ9LSnvDYsg9SnZkED+C08=; b=OI+p8vNSYtg5dOKoFneDPR48HNRCn5+KtmQCC1iEiqeAkn90I7DNnoQ+1FM+nplYfP 3G8Bcf6gj2Veo22h9O+8GD5/NmlqM8wVuLUEXuYSQW2TiFmCI9geu61KyyJITWbw4dD5 RwtGyFY+nmPaVQBF6pZuo1fQ5EWDOIUpdiyQjvXGWoHvzaqaB4tHqISE3lOa0p8JVH16 aKRi/LfxMyvI08TLkYOS1nt2K6i8a6wCsffNAMk+B9/AG43n4M7EhkqVyFlW4QlHAsA+ CEvkfsnwzQ7BtnmuP9WaFc5g9E2fRp9jQnDGC/Ik0UMdQ36Z4YnZa6uPHeMXDgmvtEFc DvGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=xMVSNrHGcdt1vbOgCt0p2SZ9LSnvDYsg9SnZkED+C08=; b=eF0pUrK9yg0YM9shrE1OLe7W+OvFB0UU9jer9IySRtLNGzyqBwFH61qNYocMgZ4ivR rD5Gc6ohnHoZoGTfzqVdm44Lsg7D/t4M7pP/IWueU6Yw+tFP/9SJRi5ee+Et827uWpcN aqQgoXPb6GRykiFtyYOClwqntye/2y3IzgJMBPXX+nYaNCc8re9NArAtzcdZQC/+6IPR qEjOsVdU5UKKD6gwdCEgNMeXLFSMtMtXB/k11e1YFeIzUD9lFAWpzVlYzqeC88qSxVnK 0zpMX34mBog2IRIgGTf19EcozzLRAICtBzBg47Why9ITPNNZB8vBjQ4I7vO5hgyA5kWU JhSw== X-Gm-Message-State: AOAM532zWDBmlFCAJRiucUo0y8RSHk6O1o4Q3a/ghs16/v7mX+n/5mXV dafgqDc7zkeCwsX1Q1Q2azzc4Q== X-Received: by 2002:a19:24c3:: with SMTP id k186mr4452699lfk.472.1624045867006; Fri, 18 Jun 2021 12:51:07 -0700 (PDT) Received: from gilgamesh.lab.semihalf.net ([83.142.187.85]) by smtp.gmail.com with ESMTPSA id o7sm993221lfu.215.2021.06.18.12.51.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Jun 2021 12:51:06 -0700 (PDT) From: Grzegorz Jaszczyk To: wim@linux-watchdog.org, linux@roeck-us.net, shawnguo@kernel.org Cc: linux-watchdog@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, grzegorz.jaszczyk@linaro.org, Michal Koziel Subject: [PATCH v2 2/2] watchdog: imx2_wdg: notify wdog core to stop ping worker on suspend Date: Fri, 18 Jun 2021 21:50:33 +0200 Message-Id: <20210618195033.3209598-3-grzegorz.jaszczyk@linaro.org> X-Mailer: git-send-email 2.29.0 In-Reply-To: <20210618195033.3209598-1-grzegorz.jaszczyk@linaro.org> References: <20210618195033.3209598-1-grzegorz.jaszczyk@linaro.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-watchdog@vger.kernel.org Suspend routine disables wdog clk. Nevertheless, the watchdog subsystem is not aware of that and can still try to ping wdog through watchdog_ping_work. In order to prevent such condition and therefore prevent from system hang (caused by the wdog register access issued while the wdog clock is disabled) notify watchdog core that the ping worker should be canceled during watchdog core suspend and restored during resume. Signed-off-by: Michal Koziel Signed-off-by: Grzegorz Jaszczyk --- v1->v2: - Do not use watchdog_dev_suspend/resume directly, instead notify the watchdog core that the ping worker should be canceled during watchdog core suspend and restored during resume. - Commit log was updated accordingly. --- drivers/watchdog/imx2_wdt.c | 1 + 1 file changed, 1 insertion(+) -- 2.29.0 Reviewed-by: Guenter Roeck diff --git a/drivers/watchdog/imx2_wdt.c b/drivers/watchdog/imx2_wdt.c index b84f80f7d342..3e8d9c3b6386 100644 --- a/drivers/watchdog/imx2_wdt.c +++ b/drivers/watchdog/imx2_wdt.c @@ -311,6 +311,7 @@ static int __init imx2_wdt_probe(struct platform_device *pdev) watchdog_set_nowayout(wdog, nowayout); watchdog_set_restart_priority(wdog, 128); watchdog_init_timeout(wdog, timeout, dev); + watchdog_stop_ping_on_suspend(wdog); if (imx2_wdt_is_running(wdev)) { imx2_wdt_set_timeout(wdog, wdog->timeout);