From effae6d71544d6cab5ae01aa7160bb709b3a3e6e Mon Sep 17 00:00:00 2001 From: Jason Zhu Date: Mon, 28 Dec 2020 16:46:41 +0800 Subject: [PATCH] disk: part: fix can not find partition with suffix "_a" & "_b" Signed-off-by: Jason Zhu Change-Id: I3c4eb52101b77abec367a16cc9c2477b9ec8da04 --- disk/part.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/disk/part.c b/disk/part.c index 55a20be9ba..fb5e0dc057 100644 --- a/disk/part.c +++ b/disk/part.c @@ -690,6 +690,13 @@ int part_get_info_by_name(struct blk_desc *dev_desc, const char *name, part_drv = part_driver_lookup_type(dev_desc); if (!part_drv) return -1; +#if defined(CONFIG_ANDROID_AB) || defined(CONFIG_SPL_AB) + char *name_suffix = (char *)name + strlen(name) - 2; + + /* Fix can not find partition with suffix "_a" & "_b". If with them, clear */ + if (!memcmp(name_suffix, "_a", strlen("_a")) || !memcmp(name_suffix, "_b", strlen("_b"))) + memset(name_suffix, 0, 2); +#endif #if defined(CONFIG_ANDROID_AB) && !defined(CONFIG_SPL_BUILD) /* 1. Query partition with A/B slot suffix */ if (rk_avb_append_part_slot(name, name_slot))