Hi Lukasz, > Recently the ext4 file system imposed passing absolute path with its > file name parameter. > As a result dfu_alt_info env variable has been modified to provide > absolute path when ext4 file system is accessed (e.g. /uImage ext4 0 > 2;). > > Unfortunately, lthor flashing program provides plain file name (like > uImage) and hence those two file names do not match anymore. > > Presented commit also allows lthor to write files to sub directories > (like /boot/bin/uImage). > > Signed-off-by: Lukasz Majewski <l.majew...@samsung.com> > Reviewed-by: Marek Vasut <ma...@denx.de> > --- > Changes for v2: > - Fix patch to path in comment > --- > drivers/dfu/dfu.c | 29 +++++++++++++++++++++++++++-- > 1 file changed, 27 insertions(+), 2 deletions(-) > > diff --git a/drivers/dfu/dfu.c b/drivers/dfu/dfu.c > index 55e6a83..deafda2 100644 > --- a/drivers/dfu/dfu.c > +++ b/drivers/dfu/dfu.c > @@ -544,10 +544,35 @@ struct dfu_entity *dfu_get_entity(int alt) > int dfu_get_alt(char *name) > { > struct dfu_entity *dfu; > + char *str; > > list_for_each_entry(dfu, &dfu_list, list) { > - if (!strncmp(dfu->name, name, strlen(dfu->name))) > - return dfu->alt; > + if (dfu->name[0] != '/') { > + if (!strncmp(dfu->name, name, > strlen(dfu->name))) > + return dfu->alt; > + } else { > + /* > + * One must also consider absolute path > + * (/boot/bin/uImage) available at dfu->name > when > + * compared "plain" file name (uImage) > + * > + * It is the case for e.g. thor gadget where > lthor SW > + * sends only the file name, so only the > very last part > + * of path must be checked for equality > + */ > + > + str = strstr(dfu->name, name); > + if (!str) > + continue; > + > + /* > + * Check if matching substring is the last > element of > + * dfu->name (uImage) > + */ > + if (strlen(dfu->name) == > + ((str - dfu->name) + strlen(name))) > + return dfu->alt; > + } > } > > return -ENODEV;
Applied to u-boot-dfu repository. Thanks -- Best regards, Lukasz Majewski Samsung R&D Institute Poland (SRPOL) | Linux Platform Group _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot