--- a/fs/yaffs2/yaffs_fs.c
+++ b/fs/yaffs2/yaffs_fs.c
-@@ -745,7 +745,7 @@ static int yaffs_write_begin(struct file
-
- T(YAFFS_TRACE_OS, (KERN_DEBUG "start yaffs_write_begin\n"));
+@@ -746,7 +746,7 @@ static int yaffs_write_begin(struct file
+
+ T(YAFFS_TRACE_OS, ("start yaffs_write_begin\n"));
/* Get a page */
-- pg = __grab_cache_page(mapping,index);
-+ pg = grab_cache_page_write_begin(mapping, index, flags);
- *pagep = pg;
- if(!pg){
- ret = -ENOMEM;
+-#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 28)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28)
+ pg = grab_cache_page_write_begin(mapping, index, flags);
+ #else
+ pg = __grab_cache_page(mapping, index);