From patchwork Fri Oct 26 03:20:37 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rob Herring X-Patchwork-Id: 1649811 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) by patchwork1.kernel.org (Postfix) with ESMTP id D6AD03FD4E for ; Fri, 26 Oct 2012 03:22:55 +0000 (UTC) Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1TRaTm-0003Ni-9N; Fri, 26 Oct 2012 03:21:02 +0000 Received: from mail-oa0-f49.google.com ([209.85.219.49]) by merlin.infradead.org with esmtps (Exim 4.76 #1 (Red Hat Linux)) id 1TRaTi-0003NU-NK for linux-arm-kernel@lists.infradead.org; Fri, 26 Oct 2012 03:20:59 +0000 Received: by mail-oa0-f49.google.com with SMTP id l10so2282196oag.36 for ; Thu, 25 Oct 2012 20:20:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer; bh=EyH8RHQWOFfm8QL9Spu2JuXvERcotRq754r9oztFow4=; b=kAEo8qsceB94zA0qt3Yw3UEmoMQmK8fN44hrssumN2ImdBJirbMz2cnBcHEuOSttQg h3Ex+mrZdHQeTMJGLqpJj0G96zxjKhesuuLJ05t1jgXrunEmWgoeJnlZ98eEGcTvdis9 EfSFMuyVe3m1Z1d2oj6Qn8VytD1luq/0TxOmUrYwEpPSD8birkDbBlU5fzmA4E4klK/f 7PC9LVvLN2F29Q3c4xYfI0mvweJY9VBdBvatxviq8eL5v+yYB4P+QIJW1lbxXQGjreP/ FpOqXGRZioEIt78acoAkIIfSdoE2YZ+axiuvLqUP0GxADcm6HhjSYdiH29xuDz/zIKDW 6Psg== Received: by 10.182.18.142 with SMTP id w14mr13716029obd.65.1351221655185; Thu, 25 Oct 2012 20:20:55 -0700 (PDT) Received: from rob-laptop.grandenetworks.net (65-36-73-129.dyn.grandenetworks.net. [65.36.73.129]) by mx.google.com with ESMTPS id b20sm397462obu.4.2012.10.25.20.20.53 (version=SSLv3 cipher=OTHER); Thu, 25 Oct 2012 20:20:54 -0700 (PDT) From: Rob Herring To: arm@kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH] ARM: highbank: retry wfi on reset request Date: Thu, 25 Oct 2012 22:20:37 -0500 Message-Id: <1351221637-21747-1-git-send-email-robherring2@gmail.com> X-Mailer: git-send-email 1.7.10.4 X-Spam-Note: CRM114 invocation failed X-Spam-Score: -2.5 (--) X-Spam-Report: SpamAssassin version 3.3.2 on merlin.infradead.org summary: Content analysis details: (-2.5 points) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (robherring2[at]gmail.com) -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [209.85.219.49 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends in digit (robherring2[at]gmail.com) -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature Cc: Rob Herring , Mark Langsdorf X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: linux-arm-kernel-bounces@lists.infradead.org Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org From: Rob Herring In some cases, an interrupt can occur and prevent cause failure to enter wfi. This causes reset to hang. Retrying the wfi should be enough to prevent reset from hanging. Signed-off-by: Rob Herring --- arch/arm/mach-highbank/system.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/arm/mach-highbank/system.c b/arch/arm/mach-highbank/system.c index 82c2723..86e37cd 100644 --- a/arch/arm/mach-highbank/system.c +++ b/arch/arm/mach-highbank/system.c @@ -28,6 +28,7 @@ void highbank_restart(char mode, const char *cmd) hignbank_set_pwr_soft_reset(); scu_power_mode(scu_base_addr, SCU_PM_POWEROFF); - cpu_do_idle(); + while (1) + cpu_do_idle(); }