On Wed, Apr 7, 2021 at 3:31 PM <[email protected]> wrote: > > From: Denys Drozdov <[email protected]> > > U-boot might display wrong module revision information > for modules with an assembly version 'K'. "cfgblock create" > does not takes into account all revision digits from PID8. > > This fix takes into account all digits of PID8 > to store module revision. > > Signed-off-by: Denys Drozdov <[email protected]>
Reviewed-by: Oleksandr Suvorov <[email protected]> > --- > board/toradex/common/tdx-cfg-block.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/board/toradex/common/tdx-cfg-block.c > b/board/toradex/common/tdx-cfg-block.c > index adab0a0802..9be58d538b 100644 > --- a/board/toradex/common/tdx-cfg-block.c > +++ b/board/toradex/common/tdx-cfg-block.c > @@ -555,6 +555,8 @@ static int get_cfgblock_interactive(void) > static int get_cfgblock_barcode(char *barcode, struct toradex_hw *tag, > u32 *serial) > { > + char revision[3] = {barcode[6], barcode[7], '\0'}; > + > if (strlen(barcode) < 16) { > printf("Argument too short, barcode is 16 chars long\n"); > return -1; > @@ -563,7 +565,7 @@ static int get_cfgblock_barcode(char *barcode, struct > toradex_hw *tag, > /* Get hardware information from the first 8 digits */ > tag->ver_major = barcode[4] - '0'; > tag->ver_minor = barcode[5] - '0'; > - tag->ver_assembly = barcode[7] - '0'; > + tag->ver_assembly = simple_strtoul(revision, NULL, 10); > > barcode[4] = '\0'; > tag->prodid = simple_strtoul(barcode, NULL, 10); > -- > 2.17.1 > -- Best regards Oleksandr Suvorov Toradex AG Ebenaustrasse 10 | 6048 Horw | Switzerland | T: +41 41 500 48 00

