Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp3889620pxv; Mon, 19 Jul 2021 11:12:29 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwLl1+3a2k72iucAlUf1Q/Jui/7Qwhbw5TAk6cx3xVapjOHpsVnOQuAhTtKBgLP4aWqIxmx X-Received: by 2002:a17:907:2bde:: with SMTP id gv30mr28249593ejc.163.1626718349109; Mon, 19 Jul 2021 11:12:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626718349; cv=none; d=google.com; s=arc-20160816; b=lWZyqN3H211XQZcXq1XCnNn+5CQUYtZ8U1gK6nzsKjYsQWNnlHqL0oUy1rz9nq7nuF x5GqsP74SXqkgs0meIitzAeHim3cENjhL6wZJKmBz01aFIQ7txVeLcVyNIJOLVGxPDZE XOkdp3Baftz8TdugOkqmfPGnfa32IfLU5a2dgQY3gnC6g98JefGnRFvug04XSgezSZFZ GQfGL/4Z4zFm4xl2llk6oB2QAYFNKRIX+Bh8ngsw6k0zHCN6sRnfTGMd+RlIg+dJZBn+ 61XDN1KmCrxrPRnuicwG73oSrdha0RRSQzf62uNa4wXqFt210sV1LdA01+4anzM49ghT OcBA== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=lSYS/NpkVIwfWHSjUp9QFY7+Mgi0tE7kFGus7s7irjs=; b=SjUI02FeORk9YCk6jxNG7+yOPZXwdCkzZfYGd829N9XjxZVMiCR5hgcQYTQCpKkOPh xM3rd2Is1NCyOskShznGp+OufKPxgK9K7yPSMfg8cy6V6wT8hy7JMQHsXpVAbXsbOEV+ iy+yhkXcEHvsXHLcWXcf6orTo6MbbLBdX7q17PaWug6S1gH1rd2lCPxz7TT7RtlrA0bp 5jVQAaDt+tcNI+EyWXqRLCoD5W8kj97u9sYRjpS3S5KE3gdv8dg8txFCmJywopsejLW8 ramv7tq1Uh5D+SZnZRCTEXsTwBGcVYNYMxuefMmoSLTUEwoeqJMjeMCm9gxdl7xlo9qc 3MEg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=pFBh8gUy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i19si9352589edt.361.2021.07.19.11.12.03; Mon, 19 Jul 2021 11:12:29 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-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=@linuxfoundation.org header.s=korg header.b=pFBh8gUy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378888AbhGSR0b (ORCPT + 99 others); Mon, 19 Jul 2021 13:26:31 -0400 Received: from mail.kernel.org ([198.145.29.99]:46970 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1350274AbhGSPpr (ORCPT ); Mon, 19 Jul 2021 11:45:47 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id A4EE560FE9; Mon, 19 Jul 2021 16:26:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1626711986; bh=9zqASD8Vjs3E/spUcYvm/3cnW30v8MLmnrtGEW8CPc8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pFBh8gUyEBpGStutntM43tMN6Zt6wMcBncF9SVbVdqVDN+d2t0uecc4CRf66kbESZ 7+hqGaq9Eg9OLHJlqvR7f9C4iyW4jBu0au432owFTsZaA/qaZeK+p6a70/loIMZhFH e2AKwyavBA4JS9KkrUNkADuLwa2HfdE6ItTU1JRA= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Guenter Roeck , Andy Shevchenko , Kris Pan , Shruthi Sanil , Wim Van Sebroeck , Sasha Levin Subject: [PATCH 5.12 189/292] watchdog: keembay: Update WDT pre-timeout during the initialization Date: Mon, 19 Jul 2021 16:54:11 +0200 Message-Id: <20210719144948.706351302@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210719144942.514164272@linuxfoundation.org> References: <20210719144942.514164272@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Shruthi Sanil [ Upstream commit 29353816300c79cb5157ed2719cc71285c7b77aa ] The pretimeout register has a default reset value. Hence when a smaller WDT timeout is set which would be lesser than the default pretimeout, the system behaves abnormally, starts triggering the pretimeout interrupt even when the WDT is not enabled, most of the times leading to system crash. Hence an update in the pre-timeout is also required for the default timeout that is being configured. Fixes: fa0f8d51e90d ("watchdog: Add watchdog driver for Intel Keembay Soc") Reviewed-by: Guenter Roeck Reviewed-by: Andy Shevchenko Tested-by: Kris Pan Signed-off-by: Shruthi Sanil Link: https://lore.kernel.org/r/20210517174953.19404-2-shruthi.sanil@intel.com Signed-off-by: Guenter Roeck Signed-off-by: Wim Van Sebroeck Signed-off-by: Sasha Levin --- drivers/watchdog/keembay_wdt.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/watchdog/keembay_wdt.c b/drivers/watchdog/keembay_wdt.c index 547d3fea33ff..f2f5c9fae29c 100644 --- a/drivers/watchdog/keembay_wdt.c +++ b/drivers/watchdog/keembay_wdt.c @@ -29,6 +29,7 @@ #define WDT_LOAD_MAX U32_MAX #define WDT_LOAD_MIN 1 #define WDT_TIMEOUT 5 +#define WDT_PRETIMEOUT 4 static unsigned int timeout = WDT_TIMEOUT; module_param(timeout, int, 0); @@ -224,11 +225,13 @@ static int keembay_wdt_probe(struct platform_device *pdev) wdt->wdd.min_timeout = WDT_LOAD_MIN; wdt->wdd.max_timeout = WDT_LOAD_MAX / wdt->rate; wdt->wdd.timeout = WDT_TIMEOUT; + wdt->wdd.pretimeout = WDT_PRETIMEOUT; watchdog_set_drvdata(&wdt->wdd, wdt); watchdog_set_nowayout(&wdt->wdd, nowayout); watchdog_init_timeout(&wdt->wdd, timeout, dev); keembay_wdt_set_timeout(&wdt->wdd, wdt->wdd.timeout); + keembay_wdt_set_pretimeout(&wdt->wdd, wdt->wdd.pretimeout); ret = devm_watchdog_register_device(dev, &wdt->wdd); if (ret) -- 2.30.2