X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=drivers%2Fvideo%2Fbacklight%2Fbacklight.c;h=c2ab0cd0cf71a0533aed062c27afd353922cc1a4;hb=6633ff603d26f915d92e42edf68f6bebfd8e7c1c;hp=bddc8b17a4d8a688f978aa82c58ff8c7514b21f0;hpb=75d43b2d0a323ba894d85060888f039e41b441ca;p=firefly-linux-kernel-4.4.55.git diff --git a/drivers/video/backlight/backlight.c b/drivers/video/backlight/backlight.c index bddc8b17a4d8..c2ab0cd0cf71 100644 --- a/drivers/video/backlight/backlight.c +++ b/drivers/video/backlight/backlight.c @@ -46,7 +46,8 @@ static int fb_notifier_callback(struct notifier_block *self, int fb_blank = 0; /* If we aren't interested in this event, skip it immediately ... */ - if (event != FB_EVENT_BLANK && event != FB_EVENT_CONBLANK) + if (event != FB_EVENT_BLANK && event != FB_EVENT_CONBLANK && + event != FB_EARLY_EVENT_BLANK) return 0; bd = container_of(self, struct backlight_device, fb_notif); @@ -56,7 +57,8 @@ static int fb_notifier_callback(struct notifier_block *self, bd->ops->check_fb(bd, evdata->info)) { fb_blank = *(int *)evdata->data; if (fb_blank == FB_BLANK_UNBLANK && - !bd->fb_bl_on[node]) { + !bd->fb_bl_on[node] && + event != FB_EARLY_EVENT_BLANK) { bd->fb_bl_on[node] = true; if (!bd->use_count++) { bd->props.state &= ~BL_CORE_FBBLANK; @@ -64,7 +66,8 @@ static int fb_notifier_callback(struct notifier_block *self, backlight_update_status(bd); } } else if (fb_blank != FB_BLANK_UNBLANK && - bd->fb_bl_on[node]) { + bd->fb_bl_on[node] && + event == FB_EARLY_EVENT_BLANK) { bd->fb_bl_on[node] = false; if (!(--bd->use_count)) { bd->props.state |= BL_CORE_FBBLANK;