[PATCH] ARM: machine_power_off should not return

Ezequiel Garcia ezequiel.garcia at free-electrons.com
Wed Mar 26 06:12:27 EDT 2014


Russell,

Thanks for the reply!

On Mar 26, Russell King - ARM Linux wrote:
> On Tue, Mar 25, 2014 at 07:45:55PM -0300, Ezequiel Garcia wrote:
> > 
> > Without this patch we got the heartbeat's reboot_notifier called twice while
> > testing the recent hibernation patches, which was unexpected and produced a
> > kernel panic: https://lkml.org/lkml/2014/3/19/363
> 
> I don't see why we should make this change.  kernel/reboot.c handles
> this function returning, so other places should do too.
> 
> Even on x86, this function can return:
> 
[..]
> 
> Therefore, I'd say... it's a bug in the hibernation code - or we probably
> have many buggy architectures.  I'd suggest fixing the hibernation code
> rather than stuffing some workaround like an endless loop into every
> architecture.
> 

Which is exactly what Sebastian did first:

https://lkml.org/lkml/2014/3/20/605

But Pavel asked to fix ARM's machine_power_off instead.

Also, looking at the other architectures, it seems this API is not well
defined: some of them have an infinite loop, some don't. So it's hard to
say the function is supposed to return or not.
-- 
Ezequiel García, Free Electrons
Embedded Linux, Kernel and Android Engineering
http://free-electrons.com



More information about the linux-arm-kernel mailing list