From patchwork Mon Apr 25 08:22:10 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liu Xinpeng X-Patchwork-Id: 567459 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9FA73C4167D for ; Mon, 25 Apr 2022 08:23:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230382AbiDYI0F (ORCPT ); Mon, 25 Apr 2022 04:26:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59612 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233801AbiDYIZw (ORCPT ); Mon, 25 Apr 2022 04:25:52 -0400 Received: from chinatelecom.cn (prt-mail.chinatelecom.cn [42.123.76.219]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id E93C9DF07; Mon, 25 Apr 2022 01:22:46 -0700 (PDT) HMM_SOURCE_IP: 172.18.0.48:45926.704897365 HMM_ATTACHE_NUM: 0000 HMM_SOURCE_TYPE: SMTP Received: from clientip-202.80.192.38 (unknown [172.18.0.48]) by chinatelecom.cn (HERMES) with SMTP id A86722800B4; Mon, 25 Apr 2022 16:22:43 +0800 (CST) X-189-SAVE-TO-SEND: +liuxp11@chinatelecom.cn Received: from ([172.18.0.48]) by app0024 with ESMTP id f677bf24781f42cb959f822e59be0ced for wim@linux-watchdog.org; Mon, 25 Apr 2022 16:22:45 CST X-Transaction-ID: f677bf24781f42cb959f822e59be0ced X-Real-From: liuxp11@chinatelecom.cn X-Receive-IP: 172.18.0.48 X-MEDUSA-Status: 0 Sender: liuxp11@chinatelecom.cn From: Liu Xinpeng To: wim@linux-watchdog.org, linux@roeck-us.net Cc: linux-watchdog@vger.kernel.org, linux-kernel@vger.kernel.org, Liu Xinpeng Subject: [PATCH v2 1/3] watchdog: wdat_wdg: Using the existed function to check parameter timeout Date: Mon, 25 Apr 2022 16:22:10 +0800 Message-Id: <1650874932-18407-2-git-send-email-liuxp11@chinatelecom.cn> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1650874932-18407-1-git-send-email-liuxp11@chinatelecom.cn> References: <1650874932-18407-1-git-send-email-liuxp11@chinatelecom.cn> Precedence: bulk List-ID: X-Mailing-List: linux-watchdog@vger.kernel.org Setting up min_timeout, and determine if a timeout value is invalid using watchdog_timeout_invalid. Signed-off-by: Liu Xinpeng --- drivers/watchdog/wdat_wdt.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/watchdog/wdat_wdt.c b/drivers/watchdog/wdat_wdt.c index 195c8c004b69..3040a0554055 100644 --- a/drivers/watchdog/wdat_wdt.c +++ b/drivers/watchdog/wdat_wdt.c @@ -14,6 +14,7 @@ #include #define MAX_WDAT_ACTIONS ACPI_WDAT_ACTION_RESERVED +#define WDAT_TIMEOUT_MIN 1 /** * struct wdat_instruction - Single ACPI WDAT instruction @@ -344,6 +345,7 @@ static int wdat_wdt_probe(struct platform_device *pdev) wdat->period = tbl->timer_period; wdat->wdd.min_hw_heartbeat_ms = wdat->period * tbl->min_count; wdat->wdd.max_hw_heartbeat_ms = wdat->period * tbl->max_count; + wdat->wdd.min_timeout = WDAT_TIMEOUT_MIN; wdat->stopped_in_sleep = tbl->flags & ACPI_WDAT_STOPPED; wdat->wdd.info = &wdat_wdt_info; wdat->wdd.ops = &wdat_wdt_ops; @@ -450,8 +452,7 @@ static int wdat_wdt_probe(struct platform_device *pdev) * watchdog properly after it has opened the device. In some cases * the BIOS default is too short and causes immediate reboot. */ - if (timeout * 1000 < wdat->wdd.min_hw_heartbeat_ms || - timeout * 1000 > wdat->wdd.max_hw_heartbeat_ms) { + if (watchdog_timeout_invalid(&wdat->wdd, timeout)) { dev_warn(dev, "Invalid timeout %d given, using %d\n", timeout, WDAT_DEFAULT_TIMEOUT); timeout = WDAT_DEFAULT_TIMEOUT; From patchwork Mon Apr 25 08:22:11 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liu Xinpeng X-Patchwork-Id: 565998 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 18360C43219 for ; Mon, 25 Apr 2022 08:23:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231951AbiDYI0F (ORCPT ); Mon, 25 Apr 2022 04:26:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59624 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232450AbiDYIZw (ORCPT ); Mon, 25 Apr 2022 04:25:52 -0400 Received: from chinatelecom.cn (prt-mail.chinatelecom.cn [42.123.76.219]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 699AC13D1E; Mon, 25 Apr 2022 01:22:48 -0700 (PDT) HMM_SOURCE_IP: 172.18.0.48:45926.704897365 HMM_ATTACHE_NUM: 0000 HMM_SOURCE_TYPE: SMTP Received: from clientip-202.80.192.38 (unknown [172.18.0.48]) by chinatelecom.cn (HERMES) with SMTP id 9868C2800BF; Mon, 25 Apr 2022 16:22:45 +0800 (CST) X-189-SAVE-TO-SEND: +liuxp11@chinatelecom.cn Received: from ([172.18.0.48]) by app0024 with ESMTP id 144e59dc1c094bbbbb994ac694d268a3 for wim@linux-watchdog.org; Mon, 25 Apr 2022 16:22:47 CST X-Transaction-ID: 144e59dc1c094bbbbb994ac694d268a3 X-Real-From: liuxp11@chinatelecom.cn X-Receive-IP: 172.18.0.48 X-MEDUSA-Status: 0 Sender: liuxp11@chinatelecom.cn From: Liu Xinpeng To: wim@linux-watchdog.org, linux@roeck-us.net Cc: linux-watchdog@vger.kernel.org, linux-kernel@vger.kernel.org, Liu Xinpeng Subject: [PATCH v2 2/3] watchdog: wdat_wdg: Stop watchdog when rebooting the system Date: Mon, 25 Apr 2022 16:22:11 +0800 Message-Id: <1650874932-18407-3-git-send-email-liuxp11@chinatelecom.cn> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1650874932-18407-1-git-send-email-liuxp11@chinatelecom.cn> References: <1650874932-18407-1-git-send-email-liuxp11@chinatelecom.cn> Precedence: bulk List-ID: X-Mailing-List: linux-watchdog@vger.kernel.org Executing reboot command serveral times on the machine "Dell PowerEdge R740", UEFI security detection stopped machine with the following prompt: UEFI0082: The system was reset due to a timeout from the watchdog timer. Check the System Event Log (SEL) or crash dumps from Operating Sysstem to identify the source that triggered the watchdog timer reset. Update the firmware or driver for the identified device. iDRAC has warning event: "The watchdog timer reset the system". This patch fixes this issue by adding the reboot notifier. Signed-off-by: Liu Xinpeng --- drivers/watchdog/wdat_wdt.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/watchdog/wdat_wdt.c b/drivers/watchdog/wdat_wdt.c index 3040a0554055..609922ed4744 100644 --- a/drivers/watchdog/wdat_wdt.c +++ b/drivers/watchdog/wdat_wdt.c @@ -463,6 +463,7 @@ static int wdat_wdt_probe(struct platform_device *pdev) return ret; watchdog_set_nowayout(&wdat->wdd, nowayout); + watchdog_stop_on_reboot(&wdat->wdd); return devm_watchdog_register_device(dev, &wdat->wdd); } From patchwork Mon Apr 25 08:22:12 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liu Xinpeng X-Patchwork-Id: 565997 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E0953C433EF for ; Mon, 25 Apr 2022 08:24:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237264AbiDYI1I (ORCPT ); Mon, 25 Apr 2022 04:27:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:32768 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236082AbiDYI0z (ORCPT ); Mon, 25 Apr 2022 04:26:55 -0400 Received: from chinatelecom.cn (prt-mail.chinatelecom.cn [42.123.76.219]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 795B11CB28; Mon, 25 Apr 2022 01:23:24 -0700 (PDT) HMM_SOURCE_IP: 172.18.0.48:45926.704897365 HMM_ATTACHE_NUM: 0000 HMM_SOURCE_TYPE: SMTP Received: from clientip-202.80.192.38 (unknown [172.18.0.48]) by chinatelecom.cn (HERMES) with SMTP id 1ED742800D4; Mon, 25 Apr 2022 16:22:47 +0800 (CST) X-189-SAVE-TO-SEND: +liuxp11@chinatelecom.cn Received: from ([172.18.0.48]) by app0024 with ESMTP id e3378ec917c74581bc92bedef25e1586 for wim@linux-watchdog.org; Mon, 25 Apr 2022 16:23:15 CST X-Transaction-ID: e3378ec917c74581bc92bedef25e1586 X-Real-From: liuxp11@chinatelecom.cn X-Receive-IP: 172.18.0.48 X-MEDUSA-Status: 0 Sender: liuxp11@chinatelecom.cn From: Liu Xinpeng To: wim@linux-watchdog.org, linux@roeck-us.net Cc: linux-watchdog@vger.kernel.org, linux-kernel@vger.kernel.org, Liu Xinpeng Subject: [PATCH v2 3/3] watchdog: wdat_wdg: Stop watchdog when uninstalling module Date: Mon, 25 Apr 2022 16:22:12 +0800 Message-Id: <1650874932-18407-4-git-send-email-liuxp11@chinatelecom.cn> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1650874932-18407-1-git-send-email-liuxp11@chinatelecom.cn> References: <1650874932-18407-1-git-send-email-liuxp11@chinatelecom.cn> Precedence: bulk List-ID: X-Mailing-List: linux-watchdog@vger.kernel.org Test shows that wachdog still reboots machine after the module is removed. Use watchdog_stop_on_unregister to stop the watchdog on removing. Signed-off-by: Liu Xinpeng --- drivers/watchdog/wdat_wdt.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/watchdog/wdat_wdt.c b/drivers/watchdog/wdat_wdt.c index 609922ed4744..502da41ac0b2 100644 --- a/drivers/watchdog/wdat_wdt.c +++ b/drivers/watchdog/wdat_wdt.c @@ -464,6 +464,7 @@ static int wdat_wdt_probe(struct platform_device *pdev) watchdog_set_nowayout(&wdat->wdd, nowayout); watchdog_stop_on_reboot(&wdat->wdd); + watchdog_stop_on_unregister(&wdat->wdd); return devm_watchdog_register_device(dev, &wdat->wdd); }