On 09/10/2015 03:26 PM, Tom Rini wrote: > On Thu, Sep 10, 2015 at 10:22:35AM -0700, Stephen Warren wrote: >> On 07/28/2015 08:55 PM, Stephen Warren wrote: >>> The FAT code contains a special case to parse the root >>> directory. This is needed since the root directory >>> location/layout on disk is special cased for FAT12/16. In >>> particular, the location and size of the FAT12/16 root >>> directory is hard-coded and contiguous, whereas all FAT12/16 >>> non-root directories, and all FAT32 directories, are stored in >>> a non-contiguous fashion, with the layout represented by a >>> linked-list of clusters in the FAT. >>> >>> If a file path contains ../ (for example >>> /extlinux/../bcm2835-rpi-cm.dtb), it is possible to need to >>> parse the root directory for the first element in the path >>> (requiring application of the special case), then a sub- >>> directory (in the general way), then re-parse the root >>> directory (again requiring the special case). However, the >>> current code in U-Boot only applies the special case for the >>> very first path element, and never for any later path element. >>> When reparsing the root directory without applying the special >>> case, any file in a sector (or cluster?) other than the first >>> sector/cluster of the root directory will not be found. >>> >>> This change modifies the non-root-dir-parsing loop of >>> do_fat_read_at() to detect if it's walked back to the root >>> directory, and if so, jumps back to the special case code that >>> handles parsing of the root directory. >> >> Is this change slated for v2015.10, or is the plan to leave this >> issue in place until the FAT implementation replacement is >> accepted for the release after that? > > I believe I shall grab this. Did you see the email from Lukasz > saying the new FAT didn't pass the DFU test suite?
Yes. I'll try testing that when I get back from travel. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot