diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 81d4f68f35c98ea69c1bb721a559e93450715d3f..65474d95f26f1f04794982d7fbe0937f41bdaa51 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -5777,8 +5777,7 @@ static void btrfs_endio_direct_write(struct bio *bio, int err)
 	if (test_bit(BTRFS_ORDERED_NOCOW, &ordered->flags)) {
 		ret = btrfs_ordered_update_i_size(inode, 0, ordered);
 		if (!ret)
-			ret = btrfs_update_inode(trans, root, inode);
-		err = ret;
+			err = btrfs_update_inode(trans, root, inode);
 		goto out;
 	}