Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp644820ybz; Wed, 22 Apr 2020 05:23:32 -0700 (PDT) X-Google-Smtp-Source: APiQypL0IfgQdbrYFgBbCWicFuk34JhEtDV7EeadE9BhasUCpR7i6PQhsiR4bj4rqBHNql/Bnd2Z X-Received: by 2002:a17:906:d7a2:: with SMTP id pk2mr26888585ejb.272.1587558212708; Wed, 22 Apr 2020 05:23:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587558212; cv=none; d=google.com; s=arc-20160816; b=d75VTDkQyzmgAewWKPlN8f+QyHgvsb4tQzlQCWBnOCHk3ShF+9/CbdiPsbHu4mgexW OCngpROisNYIZ9lv0pHkfZLpN1p2F/vegt3nTo/fdfeJwgJ8o8y3kyplxCfgqC2Cjsbz k3QBgWwaPADqUczd/Z4uez3KAU+BcjE9K+TbufiR/Biu+7y5MGxNOFjT8y52ecXG5Kf0 JzFBA4+FdEMQ0hrGNi7g/a8B1sufNesH3HWFS4m//nd1EDbfUI8mqiAW+V/dqUagTHmc Xx9tQnsRSaTejbJik87/vYdWHY1bqb11FDHJt/U+2pHRphVbd8m8jnbkrkIdXFy5TdJN P0qw== 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=vPSafwpZ9Ih61cAUxHa9NafCgdVGHNJnwVsunOU6p7U2RROxNmDm1sodvn4bTNAwXh 1ZnN8VJlU1VDHz/6uJiiVvxDsNX8cBPegeVsDrtj8f7RokwK/TjfqZnY9lZdJjSSc45W l4PFU+QajMPZlKic5QyK9r42/LZkpEOFqMFtYfd3uD2I6tPh+CoWF7hwvMKRK6iYQgis cRHVwpxIh+RrjmmoX7oj5BibotDkYKFj15/xP+ciAemoYRLiMKLPwHbzOLs+Cc7++5Dk qcIsqtNeB7tAwVcvnX71rYzE8SmxLW+i0Z8CHRVR/VoWzQzGxahfeffXAEjWktJynEDC tZ0w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=wjjKUA1V; 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 f8si3480335edj.479.2020.04.22.05.23.09; Wed, 22 Apr 2020 05:23:32 -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=wjjKUA1V; 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 S1732079AbgDVKtE (ORCPT + 99 others); Wed, 22 Apr 2020 06:49:04 -0400 Received: from mail.kernel.org ([198.145.29.99]:48026 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729442AbgDVKNv (ORCPT ); Wed, 22 Apr 2020 06:13:51 -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 2DAE92071E; Wed, 22 Apr 2020 10:13:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1587550430; bh=LXPWYG4z5+vvrhoERwmekrRYM9JEuLFtWYJbqt8j26E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=wjjKUA1V5I64t8yLb/fcs5uSpUQRJiati7mY8XF/9LnBbWVl30a+vy2rlCz4+wjp0 nKlC/E29h7YoUqVHciK2v42+jNAy/XnvnMPo1z719hZEsp24sxlZGwuMtKWSd/5tXq HTNEF5nHbkhV8dNwjogeZ4rXZu/KUCQ6+Q5W8+cI= 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 4.19 05/64] watchdog: sp805: fix restart handler Date: Wed, 22 Apr 2020 11:56:49 +0200 Message-Id: <20200422095013.224193329@linuxfoundation.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200422095008.799686511@linuxfoundation.org> References: <20200422095008.799686511@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; }