diff options
author | Marek Vasut <marex@denx.de> | 2025-04-13 10:54:59 +0200 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2025-04-21 11:07:04 -0600 |
commit | aeed1373724e862acec9fda972d352c9241ee901 (patch) | |
tree | 9afe02dfcf5272c14ea8fb6baa6001492e3a7048 | |
parent | 739ad58dbee874a3ad3bddd116e995212a254e07 (diff) |
fs: exfat: Flush node before put in read() callback
Make sure the node is never dirty before being released, flush
the node first using exfat_flush_node() and only then release
the node using exfat_put_node(). This now matches the behavior
of exfat_fs_write() too.
Fixes: b86a651b646c ("fs: exfat: Add U-Boot porting layer")
Signed-off-by: Marek Vasut <marex@denx.de>
-rw-r--r-- | fs/exfat/io.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/fs/exfat/io.c b/fs/exfat/io.c index 81e82829c72..12498a4a6ec 100644 --- a/fs/exfat/io.c +++ b/fs/exfat/io.c @@ -898,9 +898,7 @@ int exfat_fs_read(const char *filename, void *buf, loff_t offset, loff_t len, *actread = sz; - exfat_put_node(&ctxt.ef, node); - - return exfat_flush_node(&ctxt.ef, node); + err = exfat_flush_node(&ctxt.ef, node); exit: exfat_put_node(&ctxt.ef, node); return err; |