Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp644215ybz; Wed, 22 Apr 2020 05:22:51 -0700 (PDT) X-Google-Smtp-Source: APiQypKFe78vl6VIqNK/RbUjcIrCbTFrOU3mVw4DMQFIisary9Fy4nNga/O07WQJRdLvDMMluPw8 X-Received: by 2002:a17:906:2548:: with SMTP id j8mr25495455ejb.378.1587558171349; Wed, 22 Apr 2020 05:22:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587558171; cv=none; d=google.com; s=arc-20160816; b=nELKeFgn13BA/NIYLSsvL8MhvAoLJ3MLL+toTuJH7T3TKDQO9Tg2h3M/RyPxJ5vlCu tJA/LuxIX7DUnPBcuTwMwU5IJRwtaFP/JfFGLdjdceLseRmUH5IZoMxvLBjSLhesaF8u pc2gxRPhqvqG82En6cw7fiTg9wvH/w/InD3K2Y96MWiOMtJ8HQxOeNff9DfeO7g99qIQ OF1eJRGAsPe3LZ6JrfzkGzFRH9lmkqTqGu15gRnuBmYnv+wfvsRnLaH1TFRlnt2vuSFj dzOYuM0XoEhdXewtNIrpKF52kRGhgB62HchL8HwsiWHvEGnVw21y33hF0nc9XpjJswuZ PUfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Dp4Jlvws3/eyMuw2sHiixgTZyhiJ12iWAqKL5Kwku0c=; b=dtrCqJ60HMe51EWBCU6UTc0IcJNe1wzyuvnxJ1Yq5rXT1qwyCnubWn0++IKO8oXR+1 N9A121vT9b67l8mHbfAqSQ9SDOCJVrLxBXO124xcoJoMm97Y9YzqqF6WBcwvVGB+9IhG jAjiNL462HFzanfhVCDdgS8WepYE4N/1WbJNhSVf2u+QmC2AhQFkkb/l3l1tOGpjIjee W7n7JHaalSUx44faGSvn/8cJoetvU4aBRghIlD6hUMfzPdQyVqK5iaiuSUaExV0TWBAv THWD+ZSAo+PxIUeztz1GzBdAYduwjxslFk+3Z+ZQG9Ps4QorUJSEdVdoP7cisyeXdSVw PKew== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Y7IRSNmw; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id o5si3623614ejr.501.2020.04.22.05.22.28; Wed, 22 Apr 2020 05:22:51 -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=@kernel.org header.s=default header.b=Y7IRSNmw; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731457AbgDVKim (ORCPT + 99 others); Wed, 22 Apr 2020 06:38:42 -0400 Received: from mail.kernel.org ([198.145.29.99]:58330 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729858AbgDVKWG (ORCPT ); Wed, 22 Apr 2020 06:22:06 -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 9DA6021473; Wed, 22 Apr 2020 10:21:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1587550911; bh=LXPWYG4z5+vvrhoERwmekrRYM9JEuLFtWYJbqt8j26E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Y7IRSNmw/aX0Oa70O7IvH3pZZ9boXgkd2cred9IvUCtRfGUwaIRvkJeXE4lHFO+cc MwOURTty3lOdB2xWbwPUqI4oXQvXHqLP81Ie05VRqX3ZkqiQXsSiDyaP/OiFpqspUc ri1N9ifOwvNe2UGKkE8PWjVCLol5DojsS6UQ8NuE= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Michael Walle , Guenter Roeck , Wim Van Sebroeck Subject: [PATCH 5.6 007/166] watchdog: sp805: fix restart handler Date: Wed, 22 Apr 2020 11:55:34 +0200 Message-Id: <20200422095048.892915089@linuxfoundation.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200422095047.669225321@linuxfoundation.org> References: <20200422095047.669225321@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Michael Walle commit ea104a9e4d3e9ebc26fb78dac35585b142ee288b upstream. The restart handler is missing two things, first, the registers has to be unlocked and second there is no synchronization for the write_relaxed() calls. This was tested on a custom board with the NXP LS1028A SoC. Fixes: 6c5c0d48b686c ("watchdog: sp805: add restart handler") Signed-off-by: Michael Walle Reviewed-by: Guenter Roeck Link: https://lore.kernel.org/r/20200327162450.28506-1-michael@walle.cc Signed-off-by: Guenter Roeck Signed-off-by: Wim Van Sebroeck Signed-off-by: Greg Kroah-Hartman --- drivers/watchdog/sp805_wdt.c | 4 ++++ 1 file changed, 4 insertions(+) --- a/drivers/watchdog/sp805_wdt.c +++ b/drivers/watchdog/sp805_wdt.c @@ -137,10 +137,14 @@ wdt_restart(struct watchdog_device *wdd, { struct sp805_wdt *wdt = watchdog_get_drvdata(wdd); + writel_relaxed(UNLOCK, wdt->base + WDTLOCK); writel_relaxed(0, wdt->base + WDTCONTROL); writel_relaxed(0, wdt->base + WDTLOAD); writel_relaxed(INT_ENABLE | RESET_ENABLE, wdt->base + WDTCONTROL); + /* Flush posted writes. */ + readl_relaxed(wdt->base + WDTLOCK); + return 0; }