diff options
-rw-r--r-- | drivers/video/sm501fb.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/video/sm501fb.c b/drivers/video/sm501fb.c index fc0cdc83036..d97edd7a6e4 100644 --- a/drivers/video/sm501fb.c +++ b/drivers/video/sm501fb.c @@ -28,6 +28,7 @@ #include <linux/wait.h> #include <linux/platform_device.h> #include <linux/clk.h> +#include <linux/console.h> #include <asm/io.h> #include <asm/uaccess.h> @@ -1697,6 +1698,10 @@ static int sm501fb_suspend_fb(struct sm501fb_info *info, /* blank the relevant interface to ensure unit power minimised */ (par->ops.fb_blank)(FB_BLANK_POWERDOWN, fbi); + acquire_console_sem(); + fb_set_suspend(fbi, 1); + release_console_sem(); + return 0; err_nocursor: @@ -1732,6 +1737,10 @@ static void sm501fb_resume_fb(struct sm501fb_info *info, memcpy_toio(par->cursor.k_addr, par->store_cursor, par->cursor.size); + acquire_console_sem(); + fb_set_suspend(fbi, 0); + release_console_sem(); + vfree(par->store_fb); vfree(par->store_cursor); } |