mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
PM/Hibernate: Add Config option to skip crc check
Some filesystem devices may have hw support for integrity checks. Repeating the check in software is unnecessary. Change-Id: I3a487e1714aecd57124f9b032751ee71d6d6dc37 Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
This commit is contained in:
parent
699bed2294
commit
edcfa65abe
@ -94,6 +94,16 @@ config HIBERNATION_IMAGE_REUSE
|
||||
For more details, refer to the description of CONFIG_HIBERNATION
|
||||
for booting without resuming.
|
||||
|
||||
config HIBERNATION_SKIP_CRC
|
||||
bool "Skip LZO image CRC check"
|
||||
default n
|
||||
depends on HIBERNATION
|
||||
---help---
|
||||
Some filesystem devices may have hw based integrity checks. In this
|
||||
scenario, repeating the integrity check in software is unnecessary
|
||||
and wasteful. This config option has no effect if uncompressed
|
||||
hibernation images are used.
|
||||
|
||||
config ARCH_SAVE_PAGE_KEYS
|
||||
bool
|
||||
|
||||
|
@ -605,9 +605,10 @@ static int crc32_threadfn(void *data)
|
||||
}
|
||||
atomic_set(&d->ready, 0);
|
||||
|
||||
for (i = 0; i < d->run_threads; i++)
|
||||
*d->crc32 = crc32_le(*d->crc32,
|
||||
d->unc[i], *d->unc_len[i]);
|
||||
if (!IS_ENABLED(CONFIG_HIBERNATION_SKIP_CRC))
|
||||
for (i = 0; i < d->run_threads; i++)
|
||||
*d->crc32 = crc32_le(*d->crc32,
|
||||
d->unc[i], *d->unc_len[i]);
|
||||
atomic_set(&d->stop, 1);
|
||||
wake_up(&d->done);
|
||||
}
|
||||
@ -1453,7 +1454,8 @@ out_finish:
|
||||
if (!snapshot_image_loaded(snapshot))
|
||||
ret = -ENODATA;
|
||||
if (!ret) {
|
||||
if (swsusp_header->flags & SF_CRC32_MODE) {
|
||||
if ((swsusp_header->flags & SF_CRC32_MODE) &&
|
||||
(!IS_ENABLED(CONFIG_HIBERNATION_SKIP_CRC))) {
|
||||
if(handle->crc32 != swsusp_header->crc32) {
|
||||
printk(KERN_ERR
|
||||
"PM: Invalid image CRC32!\n");
|
||||
|
Loading…
x
Reference in New Issue
Block a user