On 8/30/24 13:40, Sughosh Ganu wrote:
In the version 2 of the FWU metadata, the metadata is broken into two
parts, a top-level structure, which provides information on the total
size of the structure among other things. Try reading the primary
partition first, and if that fails, try reading the secondary
partition. This will help in the scenario where the primary metadata
partition has been corrupted, but the secondary partition is intact.

Signed-off-by: Sughosh Ganu <sughosh.g...@linaro.org>
---
  lib/fwu_updates/fwu_v2.c | 77 +++++++++++++++++++++-------------------
  1 file changed, 41 insertions(+), 36 deletions(-)

diff --git a/lib/fwu_updates/fwu_v2.c b/lib/fwu_updates/fwu_v2.c
index d0d8a25929..69306282aa 100644
--- a/lib/fwu_updates/fwu_v2.c
+++ b/lib/fwu_updates/fwu_v2.c
@@ -10,6 +10,12 @@
  #include <linux/types.h>
#define FWU_MDATA_VERSION 0x2U
+#define FWU_IMG_DESC_OFFSET    0x20U

And this is value which is sizeof(struct fwu_mdata) right?


+
+static struct fwu_mdata g_mdata;
+
+#define PRI_PART               0x1U
+#define SEC_PART               0x2U

You already have them in include/fwu.h

 88 enum {
 89         PRIMARY_PART = 1,
 90         SECONDARY_PART,
 91         BOTH_PARTS,
 92 };
 93


M

Reply via email to