diff --git a/fs/cifs/file.c b/fs/cifs/file.c
index 5365a329908884712935fd3d5551f6bfc4be1f4c..ebfcaae8c4373f57b766754ecfd3739e98bf2c74 100644
--- a/fs/cifs/file.c
+++ b/fs/cifs/file.c
@@ -2893,8 +2893,9 @@ static int cifs_writepages_region(struct address_space *mapping,
 
 			if (folio_mapping(folio) != mapping ||
 			    !folio_test_dirty(folio)) {
+				start += folio_size(folio);
 				folio_unlock(folio);
-				goto skip_write;
+				continue;
 			}
 
 			if (folio_test_writeback(folio) ||