On Tue, 3 Sept 2024 at 22:37, Michal Simek <michal.si...@amd.com> wrote: > > > > 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 > > + > > +static struct fwu_mdata g_mdata; > > + > > +#define PRI_PART 0x1U > > +#define SEC_PART 0x2U > > > > static inline struct fwu_fw_store_desc *fwu_get_fw_desc(struct fwu_mdata > > *mdata) > > { > > @@ -109,6 +115,31 @@ static int fwu_trial_state_start(uint update_index) > > return 0; > > } > > > > +static bool fwu_get_mdata_mandatory(uint part) > > +{ > > + int ret = 0; > > + struct udevice *fwu_dev = fwu_get_dev(); > > + > > + memset(&g_mdata, 0, sizeof(struct fwu_mdata)); > > + > > + ret = fwu_read_mdata(fwu_dev, &g_mdata, > > + part == PRI_PART ? true : false, > > + sizeof(struct fwu_mdata)); > > + if (ret) > > + return false; > > + > > + if (g_mdata.version != FWU_MDATA_VERSION) > > + return false; > > Any reason to remove error logs which were here?
They just got dropped during the code refactor. Will put them back. Thanks. -sughosh