Re: Usage of restart_handler in pwrseq_emmc

From: Guenter Roeck
Date: Tue Jun 02 2015 - 12:42:53 EST


On 06/02/2015 08:29 AM, Heiko Stübner wrote:
Hi,

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?


Looks like it. Assuming that a restart handler with priority 129 will always
be executed is a bad idea, and having it do anything but restart the system
is an even worse idea and is really asking for trouble.

Guenter

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/