diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
index 82d4e6587c317209bdf7efe6f6623a4d09269023..b1cd036c650abe8a16d696d26d876128d1f4f4ca 100644
--- a/fs/ext4/extents.c
+++ b/fs/ext4/extents.c
@@ -5570,6 +5570,7 @@ static int ext4_insert_range(struct file *file, loff_t offset, loff_t len)
 	path = ext4_find_extent(inode, offset_lblk, NULL, 0);
 	if (IS_ERR(path)) {
 		up_write(&EXT4_I(inode)->i_data_sem);
+		ret = PTR_ERR(path);
 		goto out_stop;
 	}