linux-mmc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Marek Szyprowski <m.szyprowski@samsung.com>
To: "Heiko Stübner" <heiko@sntech.de>,
	"Ulf Hansson" <ulf.hansson@linaro.org>,
	"Alexandre Courbot" <acourbot@nvidia.com>,
	"Guenter Roeck" <linux@roeck-us.net>
Cc: linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: Usage of restart_handler in pwrseq_emmc
Date: Wed, 03 Jun 2015 12:01:15 +0200	[thread overview]
Message-ID: <556ED06B.9030601@samsung.com> (raw)
In-Reply-To: <1789396.sexGZzDeEb@diego>

Hello,

On 2015-06-02 17:29, Heiko Stübner wrote:
> I'm confused by the pwrseq-emmc registering a restart_handler for resetting an
> emmc in a panic-reboot case at priority 129 to "schedules it just before
> system reboot".
>
> >From what I remember from the restart-handler discussion the actuall usage is
> traversing the ordered list until one registered handler sucessfully restarts
> the system and not to have arbitary actions in there not related to the actual
> restart process?
>
> The actual documentation in kernel/reboot.c supports this assumption,
> describing register_restart_handler as "Register function to be called to
> reset the system".
>
>
> Additionally, 128 isn't even _the_ priority to reboot the system as described
> above and some drivers use higher priorities per default, see in
> drivers/power/reset arm-versatile-reboot.c; at91-reset.c; rmobile-reset.c and
> some more.
>
>
> So I guess this should use some other mechanism (reboot notifier) instead of
> restart_handlers?

The first problem with reboot notifiers is that they are called too 
early - before
device_shutdown(), what interferes with the code in mmc_bus_shutdown and 
causes
lockup. The second problem is
that reboot notifiers are not called from emergency_restart() path. I 
agree that
129 value for priority might not be the best, maybe according to 
documentation,
255 value should be used to ensure that the handler will be called first 
before
any real restart handler.

If you have any idea how to avoid restart handler and ensure proper eMMC 
card
reboot sequence on any system reboot, I'm open for suggestions.

Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland


  parent reply	other threads:[~2015-06-03 10:01 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-02 15:29 Usage of restart_handler in pwrseq_emmc Heiko Stübner
2015-06-02 16:42 ` Guenter Roeck
2015-06-03 10:01 ` Marek Szyprowski [this message]
2015-06-03 15:03   ` Guenter Roeck
2015-06-08  9:36     ` Marek Szyprowski
2015-06-08 15:00       ` Guenter Roeck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=556ED06B.9030601@samsung.com \
    --to=m.szyprowski@samsung.com \
    --cc=acourbot@nvidia.com \
    --cc=heiko@sntech.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=ulf.hansson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).