aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMagnus Damm <damm@igel.co.jp>2008-12-19 01:34:09 -0500
committerPaul Mundt <lethal@linux-sh.org>2008-12-22 04:44:48 -0500
commit87884bd8ae42c875adbd62c84f47ed1cbb3e5090 (patch)
tree93f4632aac9c3a3579702e4b3a5dad16b5c27fa1 /drivers
parent0790555437df2b6070af8f021b8d2ef79e70e144 (diff)
video: fix deferred io fsync()
If CONFIG_FB_DEFERRED_IO is set, but there are framebuffers registered that does not make use of deferred io, then fsync() on those framebuffers will result in a crash. Fix that. This is needed for sh_mobile_lcdcfb since we always enable deferred io at compile time but we may disable deferred io for some types of hardware configurations. Signed-off-by: Magnus Damm <damm@igel.co.jp> Acked-by: Jaya Kumar <jayakumar.lkml@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/fb_defio.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/video/fb_defio.c b/drivers/video/fb_defio.c
index 4835bdc4e9f1..e6dafeddfa5b 100644
--- a/drivers/video/fb_defio.c
+++ b/drivers/video/fb_defio.c
@@ -60,6 +60,10 @@ int fb_deferred_io_fsync(struct file *file, struct dentry *dentry, int datasync)
60{ 60{
61 struct fb_info *info = file->private_data; 61 struct fb_info *info = file->private_data;
62 62
63 /* Skip if deferred io is complied-in but disabled on this fbdev */
64 if (!info->fbdefio)
65 return 0;
66
63 /* Kill off the delayed work */ 67 /* Kill off the delayed work */
64 cancel_rearming_delayed_work(&info->deferred_work); 68 cancel_rearming_delayed_work(&info->deferred_work);
65 69