Comment 9 for bug 509006

Revision history for this message
Eric Miao (eric.y.miao) wrote : Re: [dove] hibernation failed to resume

After several rounds of error and trial with JTAG debugging, it turned out this may be related to the page table being corrupted during hibernation resume. With explicit 'resume=/dev/sda5' in kernel command line, the resume happens earlier as the kernel is still running as swapper (or idle) process, and the page table is placed somewhere safe (PHYS == 0x0000_4000 if you are interested), and the content will not be overwritten during the RAM content restoration. While resume triggered by initramfs, it's actually running a user space program (i.e. /bin/resume from klibc-utils), with the page table for this specific process being potentially overwritten. This apparently affects all ARM variants, and we need a patch to avoid such overwrite.