FAT32: fix broken root directory handling.
authorWolfgang Denk <wd@denx.de>
Mon, 19 Jul 2010 09:36:58 +0000 (11:36 +0200)
committerWolfgang Denk <wd@denx.de>
Sat, 24 Jul 2010 18:53:50 +0000 (20:53 +0200)
commit2aa98c6612fc34145d1f692cf610690955362bd0
tree3e7ba780f2b5b32ef90867d5f0dea7b946768bc8
parent66c2d73cfc901aa35e0331b2fd710b250151f966
FAT32: fix broken root directory handling.

On FAT32, instead of fetching the cluster numbers from the FAT, the
code assumed (incorrectly) that the clusters for the root directory
were allocated contiguously. In the result, only the first cluster
could be accessed. At the typical cluster size of 8 sectors this
caused all accesses to files after the first 128 entries to fail -
"fatls" would terminate after 128 files (usually displaying a bogus
file name, occasionally even crashing the system), and "fatload"
would fail to find any files that were not in the first directory
cluster.

Signed-off-by: Wolfgang Denk <wd@denx.de>
fs/fat/fat.c