Created attachment 274127 [details]
Kernel .config file
Author: William Grant <firstname.lastname@example.org>
Date: Tue Jan 30 22:22:55 2018 +1100
x86/mm: Fix overlap of i386 CPU_ENTRY_AREA with FIX_BTMAP
is breaking the suspend on x86_i386.
The device enters sleep state OK, but during wakeup the machine is rebooted.
The removing of the above patch is restoring the suspend functionality.
Kernel config attached.
The same problem is seen on 4.16-rc1
After more investigation I have isolated the issue to be happening only on non-pae builds.
Kernels configured to use pae can wake from suspend2ram without problems.
The way to trigger the problem is to switch the config from CONFIG_X86_PAE to CONFIG_HIGHMEM4G (and "automatic" dependencies, like state of PHYS_ADDR_T_64BIT, PGTABLE_LEVELS..).
Tested with and without PAE on 4.15.4 and 4.16-rc1
Created attachment 274231 [details]
PAE config with working s2ram
Created attachment 274233 [details]
non-PAE config resulting in broken s2ram
Updated the config file(s) with 4.15.4 version
I see that the same problem is now present in 4.14.21
Woddy, can you close this please, as this afaics was fixed by https://git.kernel.org/torvalds/c/945fd17ab6bab8a4d05da6c3170519fbcfe62ddb Or did I get something wrong?
The issue is fixed now in 4.16-rc4 by Thomas Gleixner's patch.
Marking resolved trusting that the patch will appear in the stable 4.15 and 4.14 releases.