From patchwork Fri Oct 24 19:02:51 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Johan Hovold X-Patchwork-Id: 402939 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from mail-wi0-x23a.google.com (mail-wi0-x23a.google.com [IPv6:2a00:1450:400c:c05::23a]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 99D79140076 for ; Sat, 25 Oct 2014 06:05:55 +1100 (AEDT) Received: by mail-wi0-f186.google.com with SMTP id ex7sf131239wid.13 for ; Fri, 24 Oct 2014 12:05:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20120806; h=sender:date:from:to:cc:subject:message-id:references:mime-version :in-reply-to:user-agent:x-original-sender :x-original-authentication-results:reply-to:precedence:mailing-list :list-id:list-post:list-help:list-archive:list-subscribe :list-unsubscribe:content-type:content-disposition; bh=lkzzMum4NVF3qTsq8qrJjlDl/aQXe2etdwzGvppdpMA=; b=S+XnrA8WBzMuIzGEQBlDdDUFQXU/+2wnKwVzHv1MWILNBrxw08Ldqt+Df6k8FYc8ub Waup/wokSgjwWz7IXK33r7HyW6hm8BE54lzGVqQn2M997D+X5YmnzDIKmGgkJHShnclr ONWgaBEa0EFH0euOrMHT2A1i604vPveVr7f5xPIxmFQc714bIJgby13O+MyTIa0JJjC+ mHMQp/H8tl53qYz70zCB8QSZUb/d3RAkBIlNUOUYctKDxx83DB8rAMsaHtuTKuryUV1D F5RfG0AjwUaeOgqe8P4J4DjNDZGuY3nnejbT0IawA/e/YefounarWE+yIKZZtZkN971I uN1w== X-Received: by 10.152.20.165 with SMTP id o5mr14173lae.39.1414177552984; Fri, 24 Oct 2014 12:05:52 -0700 (PDT) X-BeenThere: rtc-linux@googlegroups.com Received: by 10.152.9.130 with SMTP id z2ls493634laa.61.gmail; Fri, 24 Oct 2014 12:05:52 -0700 (PDT) X-Received: by 10.152.25.202 with SMTP id e10mr2763009lag.2.1414177552127; Fri, 24 Oct 2014 12:05:52 -0700 (PDT) Received: from mail-la0-x233.google.com (mail-la0-x233.google.com. [2a00:1450:4010:c03::233]) by gmr-mx.google.com with ESMTPS id us10si782004lbc.1.2014.10.24.12.05.52 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 24 Oct 2014 12:05:52 -0700 (PDT) Received-SPF: pass (google.com: domain of jhovold@gmail.com designates 2a00:1450:4010:c03::233 as permitted sender) client-ip=2a00:1450:4010:c03::233; Received: by mail-la0-x233.google.com with SMTP id q1so8943lam.24 for ; Fri, 24 Oct 2014 12:05:52 -0700 (PDT) X-Received: by 10.112.172.231 with SMTP id bf7mr4671746lbc.100.1414177552035; Fri, 24 Oct 2014 12:05:52 -0700 (PDT) Received: from xi.terra (s83-177-171-8.cust.tele2.se. [83.177.171.8]) by mx.google.com with ESMTPSA id e3sm2131801lam.26.2014.10.24.12.05.50 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 24 Oct 2014 12:05:51 -0700 (PDT) Sender: rtc-linux@googlegroups.com Received: from johan by xi.terra with local (Exim 4.84) (envelope-from ) id 1Xhk8R-0001Ne-Bu; Fri, 24 Oct 2014 21:02:51 +0200 Date: Fri, 24 Oct 2014 21:02:51 +0200 From: Johan Hovold To: Felipe Balbi , Andrew Morton Cc: Johan Hovold , Alessandro Zummo , Tony Lindgren , =?iso-8859-1?Q?Beno=EEt?= Cousson , Lokesh Vutla , Guenter Roeck , nsekhar@ti.com, t-kristo@ti.com, j-keerthy@ti.com, linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, rtc-linux@googlegroups.com, linux-kernel@vger.kernel.org, Russell King Subject: [rtc-linux] Re: [PATCH v2 00/20] rtc: omap: fixes and power-off feature Message-ID: <20141024190251.GB19377@localhost> References: <1412881594-25678-1-git-send-email-johan@kernel.org> <1413913086-12730-1-git-send-email-johan@kernel.org> <20141024160845.GM26941@saruman> MIME-Version: 1.0 In-Reply-To: <20141024160845.GM26941@saruman> User-Agent: Mutt/1.5.22 (2013-10-16) X-Original-Sender: jhovold@gmail.com X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jhovold@gmail.com designates 2a00:1450:4010:c03::233 as permitted sender) smtp.mail=jhovold@gmail.com; dkim=pass header.i=@gmail.com Reply-To: rtc-linux@googlegroups.com Precedence: list Mailing-list: list rtc-linux@googlegroups.com; contact rtc-linux+owners@googlegroups.com List-ID: X-Google-Group-Id: 712029733259 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , Content-Disposition: inline [ +CC: Russell ] On Fri, Oct 24, 2014 at 11:08:45AM -0500, Felipe Balbi wrote: > I tested this entire series with my BBB and it still works fine. However > I still get below panic. This time without any DRM errors: > > [ 63.087832] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000000 > [ 63.087832] > [ 63.097399] CPU: 0 PID: 1 Comm: systemd-shutdow Not tainted 3.18.0-rc1-00095-g8524e69 #556 > [ 63.106060] [] (unwind_backtrace) from [] (show_stack+0x20/0x24) > [ 63.114160] [] (show_stack) from [] (dump_stack+0x8c/0xa4) > [ 63.121706] [] (dump_stack) from [] (panic+0xa0/0x220) > [ 63.128895] [] (panic) from [] (do_exit+0x974/0x9d0) > [ 63.135900] [] (do_exit) from [] (SyS_reboot+0x14c/0x1e8) > [ 63.143361] [] (SyS_reboot) from [] (ret_fast_syscall+0x0/0x48) > [ 63.151596] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000000 > > Then again, this also happens by simply calling poweroff without > enabling wakealarm. Bah, I forgot to look into that. I haven't seen this myself as I don't use systemd (which does the syscall from process 0). Some driver power-off implementations and some arch machine_power_off spin indefinitely (or use an mdelay and WARN) after trying to power off. I think this is really a bug in arch/arm that should be fixed analogously to how failed reboot is handled in machine_restart(). Care to try the patch below? I should still add a two-second delay to rtc-omap to avoid the arch error message. Andrew, can you update one patch in the series or should I just resend them all (with proper Tested-by tags)? > In any case, for the whole series: > > Tested-by: Felipe Balbi Thanks for testing! Johan >From aaa1d1d6171c895b6966ba5b738ac7946ada97c7 Mon Sep 17 00:00:00 2001 From: Johan Hovold Date: Fri, 24 Oct 2014 18:53:09 +0200 Subject: [PATCH] ARM: fix failed power-off handling Make sure to handle failed power off by printing an error message and halting (analogously to how failed reboot is handled). Power off can fail for example if the hardware has not been wired up correctly. This avoids a kernel panic when called from process 0: [ 63.087832] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000000 [ 63.087832] [ 63.097399] CPU: 0 PID: 1 Comm: systemd-shutdow Not tainted 3.18.0-rc1-00095-g8524e69 #556 [ 63.106060] [] (unwind_backtrace) from [] (show_stack+0x20/0x24) [ 63.114160] [] (show_stack) from [] (dump_stack+0x8c/0xa4) [ 63.121706] [] (dump_stack) from [] (panic+0xa0/0x220) [ 63.128895] [] (panic) from [] (do_exit+0x974/0x9d0) [ 63.135900] [] (do_exit) from [] (SyS_reboot+0x14c/0x1e8) [ 63.143361] [] (SyS_reboot) from [] (ret_fast_syscall+0x0/0x48) [ 63.151596] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000000 Signed-off-by: Johan Hovold --- arch/arm/kernel/process.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c index a35f6ebbd2c2..68c38af5687c 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c @@ -212,6 +212,12 @@ void machine_power_off(void) if (pm_power_off) pm_power_off(); + + /* Give a grace period for failure to power off */ + mdelay(1000); + + pr_err("Power off failed -- system halted\n"); + while (1); } /*