When doing s2ram, emev2/kzm9d crashes during system suspend with CPU1: smp_ops.cpu_die() returned, trying to resuscitate Unable to handle kernel NULL pointer dereference at virtual address 00000104 As of commit d62242d7f63d6c87 ("ARM: shmobile: Remove partial CPU Hotplug from EMEV2"), there's no longer an smp_ops.cpu_die() callback. Add standard SCU-based hotplug callbacks like on other Cortex-A9 SoCs to fix the crash during suspend. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> --- This fixes the crash during the suspend phase, but I have no idea if resume actually works. I didn't manage to resume the machine after enabling wake-up on ttyS0 (remote access only). Can anyone with physical access to emev2/kzm9d please check if pressing a button resumes the system? Thanks! --- arch/arm/mach-shmobile/smp-emev2.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm/mach-shmobile/smp-emev2.c b/arch/arm/mach-shmobile/smp-emev2.c index 3a732199cf5e98c0..e6e8f2298a6a4786 100644 --- a/arch/arm/mach-shmobile/smp-emev2.c +++ b/arch/arm/mach-shmobile/smp-emev2.c @@ -53,4 +53,9 @@ static void __init emev2_smp_prepare_cpus(unsigned int max_cpus) const struct smp_operations emev2_smp_ops __initconst = { .smp_prepare_cpus = emev2_smp_prepare_cpus, .smp_boot_secondary = emev2_boot_secondary, +#ifdef CONFIG_HOTPLUG_CPU + .cpu_can_disable = shmobile_smp_cpu_can_disable, + .cpu_die = shmobile_smp_scu_cpu_die, + .cpu_kill = shmobile_smp_scu_cpu_kill, +#endif }; -- 1.9.1