diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c index a15b44e..9603f66 100644 --- a/drivers/video/fbmem.c +++ b/drivers/video/fbmem.c @@ -1007,24 +1007,24 @@ fb_set_var(struct fb_info *info, struct fb_var_screeninfo *var) int fb_blank(struct fb_info *info, int blank) -{ - int ret = -EINVAL; +{ + struct fb_event event; + int ret = -EINVAL; - if (blank > FB_BLANK_POWERDOWN) - blank = FB_BLANK_POWERDOWN; + if (blank > FB_BLANK_POWERDOWN) + blank = FB_BLANK_POWERDOWN; - if (info->fbops->fb_blank) - ret = info->fbops->fb_blank(blank, info); + event.info = info; + event.data = ␣ - if (!ret) { - struct fb_event event; + ret = fb_notifier_call_chain(FB_EVENT_BLANK, &event); + if ((ret & NOTIFY_STOP_MASK) == NOTIFY_STOP_MASK) + printk(KERN_ERR "notifier_call failed.\n"); - event.info = info; - event.data = ␣ - fb_notifier_call_chain(FB_EVENT_BLANK, &event); - } + if (info->fbops->fb_blank) + ret = info->fbops->fb_blank(blank, info); - return ret; + return ret; } static long do_fb_ioctl(struct fb_info *info, unsigned int cmd,