summaryrefslogtreecommitdiffstats
path: root/drivers/video/nuc900fb.c
diff options
context:
space:
mode:
authorAlbert Herranz <albert_herranz@yahoo.es>2010-05-24 14:34:08 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2010-05-25 08:07:09 -0700
commit49bbd815fd8ba26d0354900b783b767c7f47c816 (patch)
tree6e118691727380045c1d22d93452dc99f1ccc04d /drivers/video/nuc900fb.c
parent0d5b02641faade3dfd376abdcffbd8ccb03c7a91 (diff)
downloadlinux-49bbd815fd8ba26d0354900b783b767c7f47c816.tar.bz2
fb_defio: fix for non-dirty ptes
Fix a problem observed while using fb_defio with a short delay on a PowerPC platform. It is possible that page_mkclean() is invoked in the deferred io work function _before_ a PTE has been marked dirty. In this case, the page is removed from the defio pagelist but page_mkclean() does not write-protect the page again. The end result is that defio ignores all subsequent writes to the page and the corresponding portions of the framebuffer never get updated. The fix consists in keeping track of the pages with non-dirty PTEs, re-checking them again on the next deferred io work iteration. Note that those pages are not passed to the defio callback as they are not written by userspace yet. Signed-off-by: Albert Herranz <albert_herranz@yahoo.es> Acked-by: Jaya Kumar <jayakumar.lkml@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/video/nuc900fb.c')
0 files changed, 0 insertions, 0 deletions