From: Thomas RIENOESSL Date: Tue, 13 Nov 2018 13:00:59 +0000 (+0100) Subject: fs: fat: assign rootdir sector when accessing root directory X-Git-Url: http://git.dujemihanovic.xyz/%22/img/sics.gif/%22/static/git-favicon.png?a=commitdiff_plain;h=a68b0e11ea774492713a65d9fd5bb525fcaefff3;p=u-boot.git fs: fat: assign rootdir sector when accessing root directory This fixes problems accessing drives formated under Windows as FAT16. Signed-off-by: Thomas RIENOESSL [trini: Rebase on top of f528c140c801] Signed-off-by: Tom Rini --- diff --git a/fs/fat/fat.c b/fs/fat/fat.c index b08949d370..4bc3030ab8 100644 --- a/fs/fat/fat.c +++ b/fs/fat/fat.c @@ -725,7 +725,10 @@ static void *next_cluster(fat_itr *itr) if (itr->last_cluster) return NULL; - sect = clust_to_sect(itr->fsdata, itr->next_clust); + if (itr->fsdata->fatsize != 32 && itr->is_root) + sect = mydata->rootdir_sect; + else + sect = clust_to_sect(itr->fsdata, itr->next_clust); debug("FAT read(sect=%d), clust_size=%d, DIRENTSPERBLOCK=%zd\n", sect, itr->fsdata->clust_size, DIRENTSPERBLOCK);