Received: by 2002:ab2:6857:0:b0:1ef:ffd0:ce49 with SMTP id l23csp2576301lqp; Mon, 25 Mar 2024 03:14:59 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVdRpFaUtZ5zFeHeJJMAaF6mvPnphB2ElCmJYKdcpruJ21Bv2+35gfhKJBb+hOY97c0kXHQbStGMcMsXwTM94+6lVAXnbbWOHzOrUIVWQ== X-Google-Smtp-Source: AGHT+IEsXB/YF9VBgTHljyDNbbtBEfHw2QsATuoTHbcdnTcrAsV+m3A41QikPPIXcQAb+RqSK02K X-Received: by 2002:a05:6e02:10d4:b0:368:9974:ffcd with SMTP id s20-20020a056e0210d400b003689974ffcdmr192438ilj.30.1711361699328; Mon, 25 Mar 2024 03:14:59 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1711361699; cv=pass; d=google.com; s=arc-20160816; b=E6THwXupDR2fjRCL+KQRne1lAMw30UEOM42ayNTDIOhuLnVMQj4hxsTkzMfaIlsEeE NLpQUg8aY8KaP4eMG8AWnrftPjvV6aI/hF78rg6Pa4hUskojw1SYbvol+CmN9Px5s1sL i9R87eDeJlXnAgEf6O1xkRmB8Ubw/TgXXAAOBSfoM+xNJeYWAhUKkgIfdSAYBA7xNSqY 9lxIF31OQ73DvCxIgzWfoiLkqz3VswL3sNNaEZzdjnh1anuPbt1ummmGUJHUvqW1ieno 2f/mCXpnvAJ/+RsVGULmQVJPq9c+9wdvlNTGGR5j1tLFxgIucPxggoquEqSfArZaGAvH dKxg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=/OA1DsMFGcoUzNd0a4u/jTGqUYqQv4yr1gDtQrdAO1c=; fh=dcKls4TILnN58m/rp6CLqiBF+Gn2gEsOX9aNCx6x0lc=; b=ieAH1YfewHvCxu6/kjOOaLe1TgLJEH0EU+aoXnONRfVv4fJj2WxO4HdrEuLY4SxeXU aRBSkz2Jr8/6I0hN+ydjODXykMXtqTPnKIIjw8y20vrpV3AzJ+PgBiMNzUKDCdTnSZFS 8b8KrHpUEzgWcg35bj7yFKMLvqM87Fzpj71oaooLfu9Rt1ikjto+xZd6ClzYkFB5MZd+ JBTZg0h9DnITaEXEcH29dbd3Ag0iPS4Jvc67cXRbszzAYVfdlII5H12YWqVYP3rDhEGv c10hbiCZRjY2e44V/kPs8P6yDe5XeQJzeM7t92sw0NFRDSKBiIhU5dM3VhY6xtF3lBFX Qg0A==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=t3CHCu3u; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-116094-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-116094-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id 11-20020a63194b000000b005dc956b1631si7237866pgz.371.2024.03.25.03.14.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Mar 2024 03:14:59 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-116094-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=t3CHCu3u; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-116094-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-116094-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id B734F2A6AB5 for ; Mon, 25 Mar 2024 10:05:28 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 5955F3A7642; Mon, 25 Mar 2024 03:30:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="t3CHCu3u" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 664341788AE; Sun, 24 Mar 2024 23:39:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323563; cv=none; b=QADJh5HBHgXtJaVQEZK5N2RR13x0k8ZMJIxAeo/bLrLnRvDqxHIw2mOmow2dVN5Fv5NKSn7DUuMu/CQKC+VGm5rVWKD3ywaAh2sYSjV5GwRZ6pe3it3K1O1zR+yAwy2wKvKlqQ6fRrGlejLLKGTtJxDah1/izQcp6LXJUL2WTgg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323563; c=relaxed/simple; bh=NYj3SGxIiNIhzVR6Texho7izXCcQlT5P7lrIMwwNkMo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=BG30o2JhUM8hQX7pkgMum15T66MQjokDpLV1L2ncZHXA1g3yUEJkLy3Crtel0rFIePkw8ik2j+W6ywp9ZtXpkHpcuiVH0Z4L2mt5ub+4QDeQmtSXatq2IZRcLaBMBsLQJCbb6TvDACDWRM6QcnG8M+wN5qZ27+rG+I/BUU1cZwA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=t3CHCu3u; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 918EAC43394; Sun, 24 Mar 2024 23:39:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323563; bh=NYj3SGxIiNIhzVR6Texho7izXCcQlT5P7lrIMwwNkMo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=t3CHCu3uB9/cRlPyjjJwjQJD4xP3CwujlnmWlHF/MxoQnWmEQhXEvXjLfQjxjx+am Rve8n2I8twUUxB77uyxEK/OOHWMvgFO3EoCwrwUxnePe+jI3fjgtD1eUDjyqapJQIB 79shPW1+ocKzff6PJLxQuIs4kYqbtxMr2lubMDaKcf16lOAtpT7pY0muUukuKCjyuk PkoFeqTIa/6/rrJ7M3hYyl3pXtmUPRwxFt109MmTqFkra9Bf/0Jb7DDzKhUS0K7Rve RniPDiOAPRF6OY3Kd5MUOfBvYedkfWo5XDXQPOow0JHpobgsZXChFxj+Cf2ZNSnea+ UDWnw5V7V+DwA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Ben Wolsieffer , Guenter Roeck , Wim Van Sebroeck , Sasha Levin Subject: [PATCH 5.15 270/317] watchdog: stm32_iwdg: initialize default timeout Date: Sun, 24 Mar 2024 19:34:10 -0400 Message-ID: <20240324233458.1352854-271-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324233458.1352854-1-sashal@kernel.org> References: <20240324233458.1352854-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit From: Ben Wolsieffer [ Upstream commit dbd7c0088b7f44aa0b9276ed3449df075a7b5b54 ] The driver never sets a default timeout value, therefore it is initialized to zero. When CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED is enabled, the watchdog is started during probe. The kernel is supposed to automatically ping the watchdog from this point until userspace takes over, but this does not happen if the configured timeout is zero. A zero timeout causes watchdog_need_worker() to return false, so the heartbeat worker does not run and the system therefore resets soon after the driver is probed. This patch fixes this by setting an arbitrary non-zero default timeout. The default could be read from the hardware instead, but I didn't see any reason to add this complexity. This has been tested on an STM32F746. Fixes: 85fdc63fe256 ("drivers: watchdog: stm32_iwdg: set WDOG_HW_RUNNING at probe") Signed-off-by: Ben Wolsieffer Reviewed-by: Guenter Roeck Link: https://lore.kernel.org/r/20240228182723.12855-1-ben.wolsieffer@hefring.com Signed-off-by: Guenter Roeck Signed-off-by: Wim Van Sebroeck Signed-off-by: Sasha Levin --- drivers/watchdog/stm32_iwdg.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/watchdog/stm32_iwdg.c b/drivers/watchdog/stm32_iwdg.c index a3436c296c97b..8a7b1279a3130 100644 --- a/drivers/watchdog/stm32_iwdg.c +++ b/drivers/watchdog/stm32_iwdg.c @@ -21,6 +21,8 @@ #include #include +#define DEFAULT_TIMEOUT 10 + /* IWDG registers */ #define IWDG_KR 0x00 /* Key register */ #define IWDG_PR 0x04 /* Prescaler Register */ @@ -251,6 +253,7 @@ static int stm32_iwdg_probe(struct platform_device *pdev) wdd->parent = dev; wdd->info = &stm32_iwdg_info; wdd->ops = &stm32_iwdg_ops; + wdd->timeout = DEFAULT_TIMEOUT; wdd->min_timeout = DIV_ROUND_UP((RLR_MIN + 1) * PR_MIN, wdt->rate); wdd->max_hw_heartbeat_ms = ((RLR_MAX + 1) * wdt->data->max_prescaler * 1000) / wdt->rate; -- 2.43.0