mirror of https://github.com/OpenIPC/firmware.git
19 lines
582 B
Diff
19 lines
582 B
Diff
diff -drupN a/arch/arm/kernel/suspend.c b/arch/arm/kernel/suspend.c
|
|
--- a/arch/arm/kernel/suspend.c 2018-08-06 17:23:04.000000000 +0300
|
|
+++ b/arch/arm/kernel/suspend.c 2022-06-12 05:28:14.000000000 +0300
|
|
@@ -56,6 +56,14 @@ void __cpu_suspend_save(u32 *ptr, u32 pt
|
|
{
|
|
u32 *ctx = ptr;
|
|
|
|
+ /*
|
|
+ * ptr is the pointer of stack
|
|
+ */
|
|
+#if IS_ENABLED(CONFIG_VMAP_STACK)
|
|
+ if (is_vmalloc_addr(ptr))
|
|
+ *save_ptr = page_to_phys(vmalloc_to_page(ptr)) + offset_in_page(ptr);
|
|
+ else
|
|
+#endif
|
|
*save_ptr = virt_to_phys(ptr);
|
|
|
|
/* This must correspond to the LDM in cpu_resume() assembly */
|