summaryrefslogtreecommitdiff
path: root/api
diff options
context:
space:
mode:
authorAnatolij Gustschin <agust@denx.de>2011-12-15 03:12:14 +0000
committerWolfgang Denk <wd@denx.de>2011-12-20 23:18:43 +0100
commit8506eb8d6abefa6d91468a8c350b60ce3321a53e (patch)
tree22df26ec9b13be6a746c3a26d53db59f1c7b8f00 /api
parente27334212c919c1e9467408da36f2cd34a8a65be (diff)
downloadu-boot-imx-8506eb8d6abefa6d91468a8c350b60ce3321a53e.zip
u-boot-imx-8506eb8d6abefa6d91468a8c350b60ce3321a53e.tar.gz
u-boot-imx-8506eb8d6abefa6d91468a8c350b60ce3321a53e.tar.bz2
FAT: fix some issues in FAT write support code
Writing a file to the FAT partition didn't work while a test using a CF card. The test was done on mpc5200 based board (powerpc). There is a number of problems in FAT write code: Compiler warning: fat_write.c: In function 'file_fat_write': fat_write.c:326: warning: 'counter' may be used uninitialized in this function fat_write.c:326: note: 'counter' was declared here 'l_filename' string is not terminated, so a file name with garbage at the end is used as a file name as shown by debug code. Return value of set_contents() is not checked properly so actually a file won't be written at all (as checked using 'fatls' after a write attempt with 'fatwrite' command). do_fat_write() doesn't return the number of written bytes if no error happened. However the return value of this function is used to show the number of written bytes in do_fat_fswrite(). The patch adds some debug code and fixes above mentioned problems and also fixes a typo in error output. NOTE: after a successful write to the FAT partition (under U-Boot) the partition was checked under Linux using fsck. The partition needed fixing FATs: -bash-3.2# fsck -a /dev/sda1 fsck 1.39 (29-May-2006) dosfsck 2.11, 12 Mar 2005, FAT32, LFN FATs differ but appear to be intact. Using first FAT. Performing changes. Signed-off-by: Anatolij Gustschin <agust@denx.de> Cc: Donggeun Kim <dg77.kim@samsung.com> Cc: Aaron Williams <Aaron.Williams@cavium.com> Acked-by: Donggeun Kim <dg77.kim@samsung.com>
Diffstat (limited to 'api')
0 files changed, 0 insertions, 0 deletions