]> err.no Git - linux-2.6/blobdiff - fs/splice.c
[POWERPC] 85xxCDS: Misc 8548 PCI Corrections.
[linux-2.6] / fs / splice.c
index 22496d2a73fa1ab5efe6f663cfc1a92a9a316543..0a09732180847ce6cb7d67f91477c2314296003a 100644 (file)
@@ -594,7 +594,7 @@ find_page:
                ret = add_to_page_cache_lru(page, mapping, index,
                                            GFP_KERNEL);
                if (unlikely(ret))
-                       goto out;
+                       goto out_release;
        }
 
        ret = mapping->a_ops->prepare_write(file, page, offset, offset+this_len);
@@ -650,8 +650,9 @@ find_page:
         */
        mark_page_accessed(page);
 out:
-       page_cache_release(page);
        unlock_page(page);
+out_release:
+       page_cache_release(page);
 out_ret:
        return ret;
 }