--- y/mm/filemap.c +++ f/mm/filemap.c @@ -3527,12 +3527,12 @@ filler: return ERR_PTR(err); } - folio_wait_locked(folio); if (!folio_test_uptodate(folio)) { folio_put(folio); return ERR_PTR(-EIO); } + folio_unlock(folio); goto out; } if (folio_test_uptodate(folio))