From: Tien Fong Chee <tien.fong.c...@intel.com> Release cluster block immediately when no longer use would help to reduce 64KiB memory allocated to the memory pool.
Signed-off-by: Tien Fong Chee <tien.fong.c...@intel.com> --- changes for v2 - Assigned NULL to itr after free. - Added NULL checking to itr, avoid freeing twice. --- fs/fat/fat.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/fs/fat/fat.c b/fs/fat/fat.c index 347787e..fa846ff 100644 --- a/fs/fat/fat.c +++ b/fs/fat/fat.c @@ -1152,12 +1152,21 @@ int file_fat_read_at(const char *filename, loff_t pos, void *buffer, goto out_free_both; debug("reading %s at pos %llu\n", filename, pos); - ret = get_contents(&fsdata, itr->dent, pos, buffer, maxsize, actread); + + /* For saving default max clustersize memory allocated to malloc pool */ + dir_entry *dentptr = itr->dent; + + free(itr); + + itr = NULL; + + ret = get_contents(&fsdata, dentptr, pos, buffer, maxsize, actread); out_free_both: free(fsdata.fatbuf); out_free_itr: - free(itr); + if (itr) + free(itr); return ret; } -- 2.2.0 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot