hibernation: msm: arm64: avoid swap image header corruption
Avoid swap image header corruption based on golden_image boot argument. Change-Id: If15408b79cf4ff1d04af9a0abb9bfac603a3e569 Signed-off-by: Venkata Rao Kakani <vkakani@codeaurora.org>
This commit is contained in:
parent
84da71b286
commit
98f28a19f7
1 changed files with 15 additions and 1 deletions
|
@ -36,6 +36,7 @@
|
||||||
|
|
||||||
#define HIBERNATE_SIG "S1SUSPEND"
|
#define HIBERNATE_SIG "S1SUSPEND"
|
||||||
|
|
||||||
|
static int goldenimage;
|
||||||
/*
|
/*
|
||||||
* When reading an {un,}compressed image, we may restore pages in place,
|
* When reading an {un,}compressed image, we may restore pages in place,
|
||||||
* in which case some architectures need these pages cleaning before they
|
* in which case some architectures need these pages cleaning before they
|
||||||
|
@ -1531,7 +1532,13 @@ int swsusp_check(void)
|
||||||
goto put;
|
goto put;
|
||||||
|
|
||||||
if (!memcmp(HIBERNATE_SIG, swsusp_header->sig, 10)) {
|
if (!memcmp(HIBERNATE_SIG, swsusp_header->sig, 10)) {
|
||||||
memcpy(swsusp_header->sig, swsusp_header->orig_sig, 10);
|
if (!goldenimage) {
|
||||||
|
pr_debug("PM: corrupt hibernate image header\n");
|
||||||
|
memcpy(swsusp_header->sig,
|
||||||
|
swsusp_header->orig_sig, 10);
|
||||||
|
} else {
|
||||||
|
pr_debug("PM: Header corruption avoided\n");
|
||||||
|
}
|
||||||
/* Reset swap signature now */
|
/* Reset swap signature now */
|
||||||
error = hib_submit_io(WRITE_SYNC, swsusp_resume_block,
|
error = hib_submit_io(WRITE_SYNC, swsusp_resume_block,
|
||||||
swsusp_header, NULL);
|
swsusp_header, NULL);
|
||||||
|
@ -1605,3 +1612,10 @@ static int swsusp_header_init(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
core_initcall(swsusp_header_init);
|
core_initcall(swsusp_header_init);
|
||||||
|
|
||||||
|
static int __init golden_image_setup(char *str)
|
||||||
|
{
|
||||||
|
goldenimage = 1;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
__setup("golden_image", golden_image_setup);
|
||||||
|
|
Loading…
Add table
Reference in a new issue