Hello Christian, Am Wed, Nov 08, 2023 at 01:12:38PM +0100 schrieb christian.taedcke-...@weidmueller.com: > From: Christian Taedcke <christian.taed...@weidmueller.com> > > This reduces code duplications. > > Signed-off-by: Christian Taedcke <christian.taed...@weidmueller.com> > --- > > fs/fat/fat.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/fs/fat/fat.c b/fs/fat/fat.c > index 8ff1fd0ec8..8a0f4e4e6c 100644 > --- a/fs/fat/fat.c > +++ b/fs/fat/fat.c > @@ -25,6 +25,8 @@ > #include <linux/compiler.h> > #include <linux/ctype.h> > > +#define FATU8ARRAY2CPU16(x) (((x)[1] << 8) + (x)[0])
This does the same as the generic `get_unaligned_le16()` … why not use that? Greets Alex > + > /* > * Convert a string to lowercase. Converts at most 'len' characters, > * 'len' may be larger than the length of 'str' if 'str' is NULL > @@ -571,7 +573,7 @@ static int get_fs_info(fsdata *mydata) > mydata->total_sect = bs.total_sect; > } else { > mydata->fatlength = bs.fat_length; > - mydata->total_sect = (bs.sectors[1] << 8) + bs.sectors[0]; > + mydata->total_sect = FATU8ARRAY2CPU16(bs.sectors); > if (!mydata->total_sect) > mydata->total_sect = bs.total_sect; > } > @@ -583,7 +585,7 @@ static int get_fs_info(fsdata *mydata) > > mydata->rootdir_sect = mydata->fat_sect + mydata->fatlength * bs.fats; > > - mydata->sect_size = (bs.sector_size[1] << 8) + bs.sector_size[0]; > + mydata->sect_size = FATU8ARRAY2CPU16(bs.sector_size); > mydata->clust_size = bs.cluster_size; > if (mydata->sect_size != cur_part_info.blksz) { > log_err("FAT sector size mismatch (fs=%u, dev=%lu)\n", > @@ -607,8 +609,7 @@ static int get_fs_info(fsdata *mydata) > (mydata->clust_size * 2); > mydata->root_cluster = bs.root_cluster; > } else { > - mydata->rootdir_size = ((bs.dir_entries[1] * (int)256 + > - bs.dir_entries[0]) * > + mydata->rootdir_size = (FATU8ARRAY2CPU16(bs.dir_entries) * > sizeof(dir_entry)) / > mydata->sect_size; > mydata->data_begin = mydata->rootdir_sect + > -- > 2.34.1 >