lineage_patches_unified/patches/platform_system_vold/0006-Check-needsCheckpoint-only-if-checkpoint-is-supporte.patch.bak
2019-10-23 09:02:48 +00:00

33 lines
1.2 KiB
Diff

From d184ff43ee1dd74f64fd9a0db99c29a225c22147 Mon Sep 17 00:00:00 2001
From: Pierre-Hugues Husson <phh@phh.me>
Date: Mon, 16 Sep 2019 13:49:05 +0200
Subject: [PATCH 6/6] Check needsCheckpoint only if checkpoint is supported
This is needed because some devices (Xiaomi MiPad 4, uncertified)
declares a bootctrl HAL in manifest, but doesn't have it.
vold will then hang in needsCheckpoint waiting for bootctrl
Change-Id: I2dafcbca7e994d7a3ac36ef3698590db2ab482fa
---
cryptfs.cpp | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/cryptfs.cpp b/cryptfs.cpp
index 07617e9..dbdc5af 100644
--- a/cryptfs.cpp
+++ b/cryptfs.cpp
@@ -1643,7 +1643,9 @@ static int cryptfs_restart_internal(int restart_main) {
SLOGE("Failed to setexeccon");
return -1;
}
- bool needs_cp = android::vold::cp_needsCheckpoint();
+ bool supportsCheckpoint = false;
+ android::vold::cp_supportsCheckpoint(supportsCheckpoint);
+ bool needs_cp = supportsCheckpoint && android::vold::cp_needsCheckpoint();
while ((mount_rc = fs_mgr_do_mount(&fstab_default, DATA_MNT_POINT, crypto_blkdev, 0,
needs_cp)) != 0) {
if (mount_rc == FS_MGR_DOMNT_BUSY) {
--
2.17.1