diff --git a/fs/exfat/inode.c b/fs/exfat/inode.c
index d724de8f57bf..7292c43e9efd 100644
--- a/fs/exfat/inode.c
+++ b/fs/exfat/inode.c
@@ -19,6 +19,7 @@
 
 int __exfat_write_inode(struct inode *inode, int sync)
 {
+	int ret;
 	unsigned long long on_disk_size;
 	struct exfat_dentry *ep, *ep2;
 	struct exfat_entry_set_cache es;
@@ -43,7 +44,8 @@ int __exfat_write_inode(struct inode *inode, int sync)
 	exfat_set_volume_dirty(sb);
 
 	/* get the directory entry of given file or directory */
-	if (exfat_get_dentry_set(&es, sb, &(ei->dir), ei->entry, ES_ALL_ENTRIES))
+	ret = exfat_get_dentry_set(&es, sb, &(ei->dir), ei->entry, ES_ALL_ENTRIES);
+	if (ret)
 		return -EIO;
 	ep = exfat_get_dentry_cached(&es, ES_IDX_FILE);
 	ep2 = exfat_get_dentry_cached(&es, ES_IDX_STREAM);