From 79d86067a8742a93dd590bca80be0f01c4414457 Mon Sep 17 00:00:00 2001 From: Jone Chou Date: Sat, 4 Sep 2021 02:04:10 +0800 Subject: power: reset: add in_panic for swreset - in_panic: in_reboot can't handle all of panic cases. Like to trigger a NULL pointer dereference, it will go 'efi_reboot(reboot_mode, NULL)' instead of 'do_kernel_restart(cmd)'. Bug: 196236629 Signed-off-by: Jone Chou Change-Id: I453e57dd68f96aeb0594689de008412660762c38 --- exynos-reboot.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/exynos-reboot.c b/exynos-reboot.c index f5a096e..c834c28 100644 --- a/exynos-reboot.c +++ b/exynos-reboot.c @@ -188,8 +188,8 @@ static int exynos_restart_handler(struct notifier_block *this, unsigned long mod pr_emerg("%s: Exynos SoC reset right now\n", __func__); if (s2mpg10_get_rev_id() == S2MPG10_EVT0 || - !rsbm_supported || - !dbg_snapshot_get_reboot_status()) { + !rsbm_supported || !dbg_snapshot_get_reboot_status() || + dbg_snapshot_get_panic_status()) { set_priv_reg(pmu_alive_base + warm_reboot_offset, warm_reboot_trigger); } else { pr_emerg("Set PS_HOLD Low.\n"); -- cgit v1.2.3