From patchwork Tue Jun 23 19:54:16 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg KH X-Patchwork-Id: 223110 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.0 required=3.0 tests=DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH, MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 71130C433DF for ; Tue, 23 Jun 2020 21:33:10 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 4329A2078A for ; Tue, 23 Jun 2020 21:33:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1592947990; bh=L2v/2c+6odTf3ATAHZYTi+E7f62tWzS4hdwClBUlJdU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=ZNNbycMKwyg0umTb2d9qfXqG5eLLAG1urVD+Uo5pT94NfG/uEeN89yVPIsN3xFBTn +3d/7axG6d97VXNz/4/x1xhkPXO5Xy9PABMZlF3k3aPMX8Dc/Nm83V69QfzgV0iDhV OWvAv8vjtoosaAV6b+QhlF+sEN0s8fqk/A73SsZE= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389034AbgFWVdJ (ORCPT ); Tue, 23 Jun 2020 17:33:09 -0400 Received: from mail.kernel.org ([198.145.29.99]:53072 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388015AbgFWULk (ORCPT ); Tue, 23 Jun 2020 16:11:40 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id B50C721473; Tue, 23 Jun 2020 20:11:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1592943100; bh=L2v/2c+6odTf3ATAHZYTi+E7f62tWzS4hdwClBUlJdU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=k3HWFZrryxrAIyTwcdJj4aSf0zqBx3UHqzQOGNAVS3gpKn3pGKlEnqot2Gg0jsklN GKadB34vSIHaNC5EvbhrJMFGeVzsoQ115T3P+HxsQ99jJKHWqeMnOLMRfPOYR7Uz/T kGTyTCFYUjflfVj5UhaY8tz2tUCL5v23oRvlbzzU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Stefan Riedmueller , Guenter Roeck , Adam Thomson , Wim Van Sebroeck , Sasha Levin Subject: [PATCH 5.7 259/477] watchdog: da9062: No need to ping manually before setting timeout Date: Tue, 23 Jun 2020 21:54:16 +0200 Message-Id: <20200623195419.807894529@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200623195407.572062007@linuxfoundation.org> References: <20200623195407.572062007@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Stefan Riedmueller [ Upstream commit a0948ddba65f4f6d3cfb5e2b84685485d0452966 ] There is actually no need to ping the watchdog before disabling it during timeout change. Disabling the watchdog already takes care of resetting the counter. This fixes an issue during boot when the userspace watchdog handler takes over and the watchdog is already running. Opening the watchdog in this case leads to the first ping and directly after that without the required heartbeat delay a second ping issued by the set_timeout call. Due to the missing delay this resulted in a reset. Signed-off-by: Stefan Riedmueller Reviewed-by: Guenter Roeck Reviewed-by: Adam Thomson Link: https://lore.kernel.org/r/20200403130728.39260-3-s.riedmueller@phytec.de Signed-off-by: Guenter Roeck Signed-off-by: Wim Van Sebroeck Signed-off-by: Sasha Levin --- drivers/watchdog/da9062_wdt.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/drivers/watchdog/da9062_wdt.c b/drivers/watchdog/da9062_wdt.c index 0ad15d55071ce..18dec438d5188 100644 --- a/drivers/watchdog/da9062_wdt.c +++ b/drivers/watchdog/da9062_wdt.c @@ -58,11 +58,6 @@ static int da9062_wdt_update_timeout_register(struct da9062_watchdog *wdt, unsigned int regval) { struct da9062 *chip = wdt->hw; - int ret; - - ret = da9062_reset_watchdog_timer(wdt); - if (ret) - return ret; regmap_update_bits(chip->regmap, DA9062AA_CONTROL_D,